題目描述
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
輸入樣例1
輸入樣例2
樣例輸出 sample output
樣例輸出1
\t樣例輸出2
\n資料範圍及提示 data size & hint
c或c++的初學者注意,"\"的意思
素數的判定方法:它如果存在因數,那麼一定可以寫成乘積的形式。比如m = 1 * m。如果它存在兩
綜上,對於試除遍歷求法,只需遍歷到根號m即可。
#include #include int isprime(int n)
return 1;
}int main()
CODEVS 1430 素數判定
題目描述 description 質數又稱素數 指在乙個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數 素數在數論中有著很重要的地位。比1大但不是素數的數稱為合數。1和0既非素數也非合數。質數是與合數相對立的兩個概念,二者構成了數論當中最基礎的定義之一。基於質數定義的基礎之上而建立...
WikiOI 2 3 3 素數判定
質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。素數在數論中有著很重要的地位。比1大但不是素數的數稱為合數。1和0既非素數也非合數。質數是與合數相對立的兩個概念,二者構成了數論當中最基礎的定義之一。基於質數定義的基礎之上而建立的問題有很多世界級的難題,如哥德 ...
素數判定,素數篩
這些零碎的知識點每個都學過n次了,但隔一段時間就會忘,記錄下來 素數定義 只能被自身和1整除的大於1的正整數 通過這個定義,我們就可以得出判斷素數的 這裡用到了cmath中的sqrt函式,其原型為double sqrt double 所以在取上界的時候,為了避免double帶來的精度丟失,寧可多列舉...