#include<cstdio> using namespace std; int vis[10100],pri[10010],num,n; void init(){ num=0; for(int i=2;i<=10010;i++){ if(!vis[i]){ pri[num++]=i; for(int j = i + i;j <= 10010;j += i) vis[j]=1; } } } int main(){ init(); while(scanf("%d",&n) == 1 && n){ int l=0,r=0,sum=0,res=0; while(l<=r){ if(sum < n ) { if(pri[r] > n) break; sum += pri[r]; r++; } else if(sum >= n) { sum -= pri[l]; l++; } if(sum == n) res++; } printf("%d\n",res); } }
uva 1210 数学
猜你喜欢
转载自blog.csdn.net/sky_zdk/article/details/79444286
今日推荐
周排行