1210

来源:互联网 发布:全国人口数据库 编辑:程序博客网 时间:2024/06/13 22:47

紫书上习题10-6;

#include <iostream>#include <cstdio>#include <cstring>using namespace std;int p=0; int vis[10010]; int a[10010];int sushu(){    memset(vis,0,10010);    for(int i=2;i<=10010;i++){        if(vis[i]==0){            a[p]=i;p++;        }        for(int j=1;i*j<=10010;j++)            vis[i*j]=1;    }}int main(){   int n;sushu();   while(cin>>n&&n!=0){      int sum=0;int ans=0;int l=0;       for (int i=0;n>=a[i];i++) {            sum+=a[i];            while(sum>n)                sum-= a[l++];            if(sum==n)                ans++;        }        cout<<ans<<endl;   }   return 0;}


0 0
原创粉丝点击