Sum of Consecutive Prime Numbers——素数
发布日期:2021-05-07 16:48:56 浏览次数:12 分类:原创文章

本文共 1008 字,大约阅读时间需要 3 分钟。

用了欧拉筛法,对于欧拉公式还是有很多不理解的地方,回头补几道练习。

#include<iostream>#include<cstdio>#include<algorithm>#include<math.h>#include<cstring>#include<string>#include<vector>using namespace std;const int maxn=1e5+5;int vis[maxn],prime[maxn];int cnt=0;void Prime(int n){       memset(vis,1,sizeof(vis));    vis[1]=0;    for(int i=2;i<=n;i++){           if(vis[i]){               prime[++cnt]=i;        }        for(int j=1;j<=cnt&&i*prime[j]<=n;j++){               vis[i*prime[j]]=0;            if(i%prime[j]==0){                   break;            }        }    }}int main(){       Prime(maxn);    int n;    int ans=0;    while(cin>>n){           ans=0;        if(n==0) break;        int k;        for(int i=1;i<=cnt;i++){               k=0;            for(int j=i;j<=cnt;j++){                   k+=prime[j];                if(k==n){                       ans++;                    break;                }else if(k>n){                       break;                }            }        }        cout<<ans<<endl;    }    return 0;}
上一篇:合并果子——记一下 优先队列
下一篇:A hard puzzle——快速幂

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月10日 13时59分19秒