hdoj 2098 分拆素数和

来源:互联网 发布:贝克汉姆维多利亚知乎 编辑:程序博客网 时间:2024/05/20 08:43

http://acm.hdu.edu.cn/showproblem.php?pid=2098

 

分拆素数和

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


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

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

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

Sample Input
30260
 

Sample Output
32
 

#include<stdio.h>#include<math.h>int prime(int n){    int i;    for(i=2;i<=sqrt(n*1.0);i++)    {            if(n%i==0)            return 0;    }    return 1;}                   int main(){    int i,j,k,n,N;    while(scanf("%d",&N)&&N!=0)    {           for(i=N/2,j=N/2,n=0;i!=1;i--,j++)           {                  if(prime(i)==1&&prime(j)==1&&i!=j)                  n+=1;           }           printf("%d\n",n);    }    return 0;}                                      

0 0
原创粉丝点击