分拆素數和(2098)

分拆素數和

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


Problem Description
把一個偶數拆成兩個不同素數的和,有幾種拆法呢?

Input
輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。

Output
對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。

Sample Input
30 26 0

Sample Output
3 2

-------------------------------------------------------------------------------------------



#include <stdio.h>
int fun(int n);
int main()
{
    int n,i,j;
    while(scanf("%d",&n)!=EOF&&n!=0)
    {
        j=0;
        for(i=3;i<=n/2;i++)
        {
             if(fun(i)&&fun(n-i)&&(i!=n-i))
                j++;
        }


                printf("%d\n",j);
    }
    return 0;
}
int fun(int n)
{
    int i;
    for(i=2;i<=n/2;i++)
    {
        if(n%i==0)
        return 0;
    }


        return 1;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章