素數的定義:質數(又稱素數),指在大於1的自然數中,除了1和該數自身外,無法被其他自然數整除的數(也可定義為只有1與該數本身兩個正因數的數)。 大於1的自然數若不是素數,則稱之為合數(也稱為合成數)。
如果我們想判斷乙個數n是素數,則我們只需要證明當2<=i<=sqrt(n)時,任意的n%i ! = 0即可
我們通過下邊的例題理解
例題如下(hdu2098):
problem description
把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?
input
輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。
output
對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。
sample input
3026
0sample output32
#include
using
namespace std;
intpdss
(int n)
return1;
}//通過上邊的步驟判斷,當滿足對於任意的n%i!=0時返回值為1,即為素數;否則返回值為0,則不為素數
intmain
(void
)printf
("%d\n"
,t);
}return0;
}
實現乙個函式,判斷乙個數是不是素數。
實現乙個函式,判斷乙個數是不是素數。題解 素數是表示乙個數只能被自己和1所整除的正整數,不包括1,0更不是素數,根據他的定義可以判斷條件,使用迴圈來達到多次判斷,理解更加深刻即可發現,判斷條件可優化為2到根號下x 表示所要判斷的數 即可。如下 c語言執行與vs2013 define crt secu...
編寫函式判斷乙個整數是否為素數
題目內容 編寫函式int isprime int a 用來判斷整數a是否為素數,若是素數,函式返回1,否則返回0。呼叫該函式找出任意給定的n個整數中的素數。注意,1不是素數。輸入格式 一系列待判斷的正整數,以空格隔開,以0表示輸入結束。輸出格式 只輸出輸入的正整數中的素數,順序和輸入一致。資料間以乙...
編寫函式判斷乙個整數是否為素數
題目內容 編寫函式int isprime int a 用來判斷整數a是否為素數,若是素數,函式返回1,否則返回0。呼叫該函式找出任意給定的n個整數中的素數。注意,1不是素數。輸入格式 一系列待判斷的正整數,以空格隔開,以0表示輸入結束。輸出格式 只輸出輸入的正整數中的素數,順序和輸入一致。資料間以乙...