CODEVS 1430 素數判定

2021-06-28 11:21:32 字數 1068 閱讀 6121

題目描述 description

質數又稱素數

。指在乙個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數

。素數在數論中有著很重要的地位。比1大但不是素數的數稱為合數。1和0既非素數也非合數。質數是與合數相對立的兩個概念,二者構成了數論當中最基礎的定義之一。基於質數定義的基礎之上而建立的問題有很多世界級的難題,如哥德**猜想等。算術基本定理證明每個大於1的正整數都可以寫成素數的乘積,並且這種乘積的形式是唯一的。這個定理的重要一點是,將1排斥在素數集合以外。如果1被認為是素數,那麼這些嚴格的闡述就不得不加上一些限制條件。

概念只有1和它本身兩個約數的自然數,叫質數(prime number)。(如:由2÷1=2,2÷2=1,可知2的約數只有1和它本身2這兩個約數,所以2就是質數。與之相對立的是合數:「除了1和它本身兩個約數外,還有其它約數的數,叫合數。」如:4÷1=4,4÷2=2,4÷4=1,很顯然,4的約數除了1和它本身4這兩個約數以外,還有約數2,所以4是合數。)

100以內的質數有2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,在100內共有25個質數。

注:(1)1既不是質數也不是合數。因為它的約數有且只有1這乙個約數。

(2)2和3是所有素數中唯一兩個連著的數 .

輸入描述 input description

第一行輸入乙個正整數n,n<=30000

輸出描述 output description

如果該數是質數,則輸出\t

否則輸出\n

樣例輸入 sample input

輸入樣例113

輸入樣例28

樣例輸出 sample output

樣例輸出1\t

樣例輸出2\n

資料範圍及提示 data size & hint

c或c++的初學者注意,"\"的意思

#includeusing namespace std;

int main()

{ int n,a=0,i;

cin>>n;

for(i=2;i

wikioi1430素數判定

題目描述 description 質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。素數在數論中有著很重要的地位。比1大但不是素數的數稱為合數。1和0既非素數也非合數。質數是與合數相對立的兩個概念,二者構成了數論當中最基礎的定義之一。基於質數定義的基礎之上而建立...

素數判定,素數篩

這些零碎的知識點每個都學過n次了,但隔一段時間就會忘,記錄下來 素數定義 只能被自身和1整除的大於1的正整數 通過這個定義,我們就可以得出判斷素數的 這裡用到了cmath中的sqrt函式,其原型為double sqrt double 所以在取上界的時候,為了避免double帶來的精度丟失,寧可多列舉...

素數判定總結

1.對於百萬級別,判斷單個數是否為素數,用埃拉託斯尼斯篩法打乙個判斷是否為素數的表預處理一下。const int n 2000000 bool isprime n void doprime bool solve int64 l,int64 r,int64 a,int64 b,int64 c,int6...