分拆素數和 篩選法

2021-10-02 10:25:07 字數 600 閱讀 8322

問題簡述:哥德**猜想說,大於2的偶數可以分解成兩個素數之和。該問題求分解個數。

問題分析:解決本問題,首先用eratosthenes篩選法求得必要的素數,然後用試探法求可分解的個數。

程式說明:

對於輸入的偶數sum而言,如果能夠分解成兩個素數之和,其中乙個必然小於或等於sum/2,基於這個原理進行分解計數,最後求出所有的組合。

先對p各項賦值,p==1代表是素數

#include

#include

// eratosthenes篩選法

void

sieveofe

(int p,

int n)

int max =

sqrt

(n);

for(i=

3; i<=max; i++)}

}//p==1代表是素數

#define max 10000

intmain

(void

)printf

("%d\n"

, count);}

return0;

}

分拆素數和

分拆素數和 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 輸入包含一些正的偶數,其值不會超過10000,個數不...

分拆素數和

把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。output對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。sample input30 260sample output3 2 這個題的思路比較簡單,你...

分拆素數和。

description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 每行包含乙個正的偶數,其值不會超過10000,個數不會超過500。output 對應每個偶數,輸出其拆成不同素數和的組數,每個結果佔一行。sample input 30 26 sample output3 2 寫乙個判...