题目大意:求 连续 素数的和 等于输入的 n 的个数。
#include <cstdio>
#include <cmath>
int prime[2000];
bool Prime (int x){
int tmp=(int)sqrt ((double)x);
for (int i=2;i<=tmp;i++)
if (x % i == 0) return false;
return true;
}
int main (){
int k=0;
for (int i=2;i<=10000;i++)
if (Prime (i))
prime[k++]=i;
int n;
while (~scanf ("%d",&n) && n){
int ans=0;
for (int i=0;prime[i] <= n;i++){
int sum=0;
for (int j=i;j<=n && sum < n;j++)
sum += prime[j];
if (sum == n)
ans++;
}
printf ("%d\n",ans);
}
return 0;
}