uva1210

来源:互联网 发布:java printf居中 编辑:程序博客网 时间:2024/06/14 05:09
// 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;}

0 0
原创粉丝点击