-
F - Sum of Consecutive Prime Numbers
UVALive - 3399 #include<bits/stdc++.h> using namespace std; #define maxn 10005 int a[maxn],cnt=0,s[maxn],sum; bool prime[maxn]; void isprime() { memset(prime,0,sizeof(prime)); prime[0]=prime[1]=1; for(int i=2; i<sqrt(maxn); i++) for(int j=i*i; j<maxn; j+=i) prime[j]=1; for(int i=2; i<maxn; i++) if(!prime[i]) a[cnt++]=i; } int main() { int n; isprime(); for(int i=0; i<cnt; i++) { sum=a[i]; s[sum]++; if(sum>10001) break; for(int j=i+1; j<cnt; j++) { sum+=a[j]; if(sum>10001) break; s[sum]++; } } while(cin>>n) { if(n==0) break; cout<<s[n]<<endl; } return 0; }
F - Sum of Consecutive Prime Numbers -连续素数预处理
最新推荐文章于 2021-12-07 20:41:39 发布