| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:坑。。。In Reply To:Re:坑。。。 Posted by:yueyibo at 2016-11-21 12:32:55 > http://blog.csdn.net/luckcircle/article/details/53248376
#include<stdio.h>
#include<string.h>
const int MAX=10005;
bool isprime[10005];
int prime[1230],top=0,num[10005];
void init(){
memset(isprime,true,sizeof(isprime));
for(int i=2;i<MAX;i++){
if(isprime[i]){
prime[top++]=i;
for(int j=i*2;j<MAX;j+=i){
isprime[j]=false;
}
}
}
}
void solve(){
int sum;
memset(num,0,sizeof(num));
for(int i=0;i<top;i++){
sum=0;
for(int j=i;j<top;j++){
sum=sum+prime[j];
if(sum>10000){
break;
}
num[sum]++;
}
}
}
int main(){
int n;
init();
solve();
while(scanf("%d",&n)!=EOF&&n){
printf("%d\n",num[n]);
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator