#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
int a[50000];
cin >> n;
int temp = sqrt(n);
for(int i = 2; i < temp; i++){
if(a[i] == 0)
for(int j = 2; i*j < n/2; j++){
a[i*j] = 1;
//cout << i*j <<' ';
}
//cout << '\n';
}
int sum = 0;
int item = 0;
for(int i = 2; i <= n; i++){
if(a[i]==0){
sum += i;
item++;
if(sum == n){
cout << i <<'\n';
break;
}
else if(sum > n){
sum -=i;
item--;
break;
}
else
cout << i <<'\n';
}
}
cout << item << endl;
return 0;
}
用到无敌的头文件
#include<bits/stdc++.h>
竞赛必备,,我…蒻蒻的用一下吧。
该题需要的是:
- 找质数Prime Number。(懂就好啦~)
- 将质数从小放入口袋里,可是口袋的大小是有限制的。如果大于则不符合。因此,
if(sum == n){
cout << i <<'\n';
break;
}
else if(sum > n){
sum -=i;
item--;
break;
}
else
cout << i <<'\n';
over!
继续走起!
再记录一下,今天好多日子凑在一块了。
夏至、五月初一、父亲节、日食~