#include<cstdio>
const int maxn=10010;
int isp[1250],pre_p,sum[1250];
bool np[maxn]={true,true};
void prepare(){
for(int i=2;i<maxn;++i){
if(!np[i])
isp[pre_p++]=i;
for(int j=0;j<pre_p&&i*isp[j]<maxn;++j)
{
np[i*isp[j]]=true;
if(!(i%isp[j])) break;
}
}
for(int i=1;i<=pre_p;i++){
sum[i]=sum[i-1]+isp[i-1];
}
return;
}
int main()
{
prepare();
int n;
while(~scanf("%d",&n)&&n){
int cnt = 0;
for(int i=0;i<pre_p;++i){
if(isp[i]>n) break;
for(int j=i+1;j<=pre_p;++j)
if(n==sum[j]-sum[i]) ++cnt;
}
printf("%d\n",cnt);
}
return 0;
}
UVa1210 - Sum of Consecutive Prime Numbers
最新推荐文章于 2020-10-02 11:26:05 发布