hpu 2098 素数拆分

来源:互联网 发布:app软件开发多少钱 编辑:程序博客网 时间:2024/06/06 19:01
Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
 

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

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

Sample Input
30260
 

Sample Output
32
 
#include<stdio.h> int is_prime(int x)  {  if(x<=1)   return 0;    for(int i=2;i*i<=x;i++)       if(x%i==0)   return 0;   return 1;  }  int main()   {    int n;    int i;    int t;    int sum;     while(scanf("%d",&n),n)      {   sum=0;         t=n/2;        for(i=t;i>0;i--)         {         if(is_prime(i))           {           if(is_prime(n-i))              {              if(i!=(n-i))                 sum++;              }           }         }      printf("%d\n",sum);      }       return 0;   }

 
0 0