其他分享
首页 > 其他分享> > 循环!循环!循环!

循环!循环!循环!

作者:互联网

目录

循环!循环!循环!

洛谷新手村 “循环!循环!循环!” 的题目算比较简单。

P1008 三连击

P1008 三连击

此题只要 aaa,2a2a2a 和 3a3a3a 的每位上的数都在 191\sim91∼9 中,并且没有重复的数值即可。

#include<iostream>
#include<cstring>
using namespace std;

int num[10] = { 0 };

bool fun(int a) {
	int b,i=3;
	while (i--) {
		b = a % 10;
		a /= 10;
		if (b == 0||num[b] == 1) {
			return false;
		}
		num[b] = 1;
	}
	return true;
}
int main() {
	for (int i = 100; i <= 333; i++) {
		memset(num, 0, sizeof(num));
		if (fun(i) && fun(2 * i) && fun(3 * i)){
			cout << i << " " << 2 * i << " " << 3 * i << endl;
		}
	}
	return 0;
}

P1035 级数求和

P1035 级数求和

此题需要注意级数求和的结果不能用float,一定要用 double。float的精度不够。

include<iostream>
using namespace std;

int main() {
	int K,n=0;
	double S = 0.0; // 这里一定要用 double ,float 精度不够
	cin >> K;
	while (S <= K) {
		S += 1.0 / (++n);
	}
	cout << n << endl;
	return 0;
}

P1423 小玉在游泳

P1423 小玉在游泳

这道题即计算最小的 ttt 使得如下式子成立:
2+2×(0.98)+2×(0.98)2+2×(0.98)tn 2+2\times(0.98)+2\times(0.98)^{2}+2\times(0.98)^{t}\geq n 2+2×(0.98)+2×(0.98)2+2×(0.98)t≥n
根据等比数列求和可得
2(10.98t+1)10.98n \frac{2(1-0.98^{t+1})}{1-0.98}\geq n 1−0.982(1−0.98t+1)​≥n
整理可得
ln(10.01n)ln0.98t \frac{\ln(1-0.01n)}{\ln0.98}\leq t ln0.98ln(1−0.01n)​≤t
ttt 是整数 所以便有
t=ln(10.01n)ln0.98 t = \lceil \frac{\ln(1-0.01n)}{\ln0.98}\rceil t=⌈ln0.98ln(1−0.01n)​⌉
x\lceil x\rceil⌈x⌉ 为取不小于 xxx 的最小整数。

#include<iostream>
#include <math.h>
using namespace std;

int main() {
	double n;
	cin >> n;
	cout<< ceil(log(1-0.01*n)/log(0.98))<<endl;
	return 0;
}

P1424 小鱼的航程(改进版)

P1424 小鱼的航程(改进版)

#include<iostream>
using namespace std;

int main() {
	int num[7] = { 250,250,250,250,250,0,0 };
	int x, n,ans;
	cin >> x >> n;
	int p = x - 1;
	int times = (n + x - 1) / 7;
	int q = n + x - 1 - times * 7;
	ans = times * 5 * 250;
	for (int i = 0; i < p; i++) {
		ans -= num[i];
	}
	for (int i = 0; i < q; i++) {
		ans += num[i];
	}
	cout << ans << endl;
	return 0;
}

P1980 计数问题

P1980 计数问题

我决定单独写篇文章来讲解计数问题。

P1980 计数问题 题解

标签:num,int,ln,循环,0.98,include
来源: https://blog.csdn.net/qq_31019183/article/details/101150712