hdoj2098分拆素数和

来源:互联网 发布:变种异煞 知乎 编辑:程序博客网 时间:2024/05/23 19:48
Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
 

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

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

Sample Input
30260
 

Sample Output
32
 

Source
代码如下:
#include<stdio.h>int a[1001000]={1,1};int main(){    int i,j;    for(i=2;i<1001000;i++)    {        if(a[i]==1)        continue;        for(j=i*2;j<1001000;j+=i){            a[j]=1;        }    }    int n,ans;    while(scanf("%d",&n),n)    {        ans=0;        for(i=2;i<n/2;i++){            if(a[i]==0&&a[n-i]==0)            ans++;        }        printf("%d\n",ans);    } } 


0 0
原创粉丝点击