// UVA1210
#include <iostream>
#include <vector>
typedef long long ll;
typedef unsigned long long llu;
using namespace std;
vector<int> prime;
const int maxn=10000+10;
void init()
{
int num[maxn]={0};
for(int i=2; i*i<maxn; i++)
for(int j=i*i; j<maxn; j+=i)
num[j]=1;
for(int i=2; i<maxn; i++)
if(!num[i])
prime.push_back(i);
}
int main()
{
init();
int x;
while(cin>>x , x)
{
int l=0, r=0, sum=prime[0];
int ans=0;
while(l<=r && prime[r]<=x && r<prime.size())
{
if(sum==x)
ans++;
if(sum>=x)
sum-=prime[l++];
else
sum+=prime[++r];
}
cout<<ans<<endl;
}
return 0;
}
uva1210
最新推荐文章于 2019-08-09 13:17:00 发布