通過定義乙個函式實現判斷素數的方法

2021-10-17 20:09:07 字數 746 閱讀 5332

素數的定義:質數(又稱素數),指在大於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表示輸入結束。輸出格式 只輸出輸入的正整數中的素數,順序和輸入一致。資料間以乙...