1. 程式人生 > >哥德巴赫猜想的證明(C語言)

哥德巴赫猜想的證明(C語言)

Problem Description

哥德巴赫猜想:“任一大於2 的偶數都可寫成兩個質數之和”

現在通過設計程式在4 -100 內任選一個偶數驗證這個猜想,輸入一個不小於2的偶數n,找出兩個素數,使它們的和為n。

Input

輸入一個不小於2的偶數n。

Output

找出兩個素數,使它們的和為n。只需要輸出其中第一個素數最小的一組資料即可。

Example Input

6

Example Output

6=3+3

程式碼框架:

for(k=4;k<=100;k=k+2) { f o r (a=2;a<=k/2;a++) { 驗證a 是否為質數; 如果a 為質數 { b=kr*a; 驗證b 是否為質數; 如果b 也是質數 { 列印這個解並跳出迴圈}

}

}}

}

程式碼如下:

#include <stdio.h>
int prime(int n)
{
    int i;
    for(i=2;i<n;i++)
    {
        if(n%i==0)
            break;
    }
    if(i>=n)
        return 1;
    else return 0;


}
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=3;i<n;i++)
    {
        if(prime(i)==1&&i%2==1&&prime(n-i)==1&&(n-i)%2==1)
        {
            printf("%d=%d+%d\n",n,i,n-i);
            break;
        }
    }
}