目录
1.P5723 【深基4.例13】质数口袋
小 A 有一个质数口袋,里面可以装各个质数。他从 2 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。口袋的负载量就是口袋里的所有数字之和。但是口袋的承重量有限,不能装得下总和超过 L(1<=L&&L<=1e5)的质数。给出 L,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。
输入格式
一行一个正整数 L。
输出格式
将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。
输入输出样例
100
2 3 5 7 11 13 17 19 23 9
#include<iostream>
using namespace std;
int main() {
int L,g,c=0;
cin >> L;
for (int i = 2;i<=L; i++) {
g = 0;
for (int k = 2; k <i; k++) {
if (i % k == 0)
g++;
}
if (!g) {
L -= i;
c++;
cout << i << endl;
}
}
cout << c << endl;
return 0;
}
另一种解法
??????
2.P1035 [NOIP2002 普及组] 级数求和
题目描述
已知:Sn= 1+1/2+1/3+……+1/n。显然对于任意一个整数 k,当 n 足够大的时候,Sn>k。
现给出一个整数 k,要求计算出一个最小的 n,使得 Sn>k。
输入格式
一个正整数 k。
输出格式
一个正整数 n。
输入输出样例
1
2
对于 100% 的数据,1<=k&&k<=15。
#include<iostream>
using namespace std;
int main() {
int k,n=0;
cin >> k;
for (double sum = 0; sum <= k; n++, sum += 1.0 / n);//;空语句
// 1.0 结果转换
cout << n << endl;
return 0;
}
olol 强制转换
????????