《数据结构编程实验》 1.2.2Sum of Consecutive Prime Numbers

来源:互联网 发布:卡巴斯基软件下载 编辑:程序博客网 时间:2024/06/06 01:33

题目大意:

  给出一个正整数,求将它用连续素数和的形式来表示的方案数。


题目地址:

  POJ  2739 UVA  3399


题解:

  初始化一份素数表,对给出的正整数,枚举每个方案的初始素数。


#include <iostream>#include <cstdio>using namespace std;int PrimeScreen(int a[],int &n){    int f[10010];    int i,j;    for (i=2;i<=10000;i++) f[i]=1;    for (i=2;i*i<10000;i++) if (f[i]) for (j=i*i;j<10000;j+=i) f[j]=0;    for (i=2;i<10000;i++) if (f[i]) {a[n]=i;n++;}    return 0;}int main(){    int a[2000];    int n;    int i,j,k;    int m,ans;    n=0;    PrimeScreen(a,n);    while (scanf("%d",&m)&&m)    {        ans=0;        for (i=0;i<n;i++)        {            j=a[i];            k=i+1;            while (j<m&&k<n) {j=j+a[k];k++;}            if (j==m) ans++;        }        printf("%d\n",ans);    }    return 0;}


0 0
原创粉丝点击