hdoj.2098 分拆素数和 20140723

来源:互联网 发布:hakko编程软件 编辑:程序博客网 时间:2024/05/20 07:51

分拆素数和

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20438    Accepted Submission(s): 8929


Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
 

Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
 

Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
 

Sample Input
30260
 

Sample Output
32
 
#include<stdio.h>#include<string.h>int main(){    int m,n,x,i,j,p[10001];    memset(p,0,sizeof(p));    p[0]=p[1]=1;    for(i=2;i*i<10001;i++){        if(!p[i]){            for(j=i*i;j<10001;j+=i)                p[j]=1;        }    }    while(scanf("%d",&n)&&n!=0){        m=n/2;x=0;        for(i=m-1;i>=2;i--){            if(p[i]==0){                if(p[n-i]==0) x++;            }        }        printf("%d\n",x);    }    return 0;}

0 0
原创粉丝点击