怎樣判斷數n是質數(素數)還是和數

時間 2022-12-04 19:00:40

1樓:憧憬的遙遠

根據質數的定義,在判斷乙個數n是否是質數時,只要用1至n-1去除n,看看能否整除即可。

還有更好的辦法:先找乙個數m,使m的平方大於n,再用小於等於m的質數去除n(n為被除數),如果都不能整除,則n必然是質數。如我們要判斷1993是不是質數,50*50>1993,那麼只要用1993除以<50的質數看是否能整除,若不能即為質數。

100以內的質數有25個,還是比較好記的,只要記熟100以內質數,就可以快速判斷10000以內的數是不是質數。

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和它本身兩個因數的自然數,叫質數(或稱素數)。(如:由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是合數。)

2樓:6紅1藍

除了1和它本身以外不再有其他因數就是質數(素數)

否則就是合數

怎樣判斷乙個數是不是質數?

3樓:暴走少女

1、查表法:

主要是指查「質數表」。編制質數表的過程是:按照自然數列,第乙個數1不是質數,因此要除外,然後按順序寫出2至100的所有自然數,這些數中2是質數,把它留下,把2後面所有2的倍數劃去,2後面的3是質數,接著再把3後面所有3的倍數劃去,如此繼續下去,剩下的便是100以內的全部質數。

2、試除法:

在手頭上沒有質數表的情況下,可以用試除法來判斷乙個自然數是不是質數。例如判斷143、179是不是質數,就可以按從小到大的順序用2、3、5、7、11……等質數去試除。一般情況下用20以內的2、3、5、7、11、13、17、19這8個質數去除就可以了。

如143,這個數的個位是3,排除了被2、5整除的可能性,它各位數字的和是1+4+3=8,也不可能被3整除,通過口算也證明不能被7整除,當試除到11時,商正好是13,到此就可以斷定143不是質數。

擴充套件資料:

一、質數的相關性質

1、質數p的約數只有兩個:1和p。

2、初等數學基本定理:任一大於1的自然數,要麼本身是質數,要麼可以分解為幾個質數之積,且這種分解是唯一的。

3、質數的個數是無限的。

4、質數的個數公式π(n)是不減函式。

5、若n為正整數,在n²到(n+1)²之間至少有乙個質數。

6、若質數p為不超過n(n≥4) 的最大質數,則p>n/2。

7、所有大於10的質數中,個位數只有1,3,7,9。

二、相關應用

質數被利用在密碼學上,所謂的公鑰就是將想要傳遞的資訊在編碼時加入質數,編碼之後傳送給收信人,任何人收到此資訊後,若沒有此收信人所擁有的金鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得資訊也會無意義。

在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇嚙合次數的最小公倍數,可增強耐用度減少故障。

4樓:匿名使用者

根據質數的定義,在判斷乙個數n是否是質數時,只要用1至n-1去除n,看看能否整除即可。

還有更好的辦法:先找乙個數m,使m的平方大於n,再用小於等於m的質數去除n(n為被除數),如果都不能整除,則n必然是質數。如我們要判斷1993是不是質數,50*50>1993,那麼只要用1993除以<50的質數看是否能整除,若不能即為質數。

100以內的質數有25個,還是比較好記的,只要記熟100以內質數,就可以快速判斷10000以內的數是不是質數。

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和它本身兩個因數的自然數,叫質數(或稱素數)。(如:由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是合數。)

5樓:沒名的精靈

根據質數的定義,在判斷乙個數是否是質數時,只要用1至n-1去除n,看看能否整除即可。

6樓:鞽鞽

輾轉相除 的方法是判斷兩個數是否互質。

所以判斷是不是質數是行不通的。

應該用質數去嘗試,試到兩個緊挨這的數的時候,還沒有成功,就不要再試了,這個數就是質數。

沒有其他更好的方法,要是有我就會非常非常高興了!!^_^

7樓:

判斷乙個數

是質數還是合數,那麼:

1:當這個數大於7時:就用這個數分別取除以2,3,5,7.如果這個數除以2,3,5,7都除不盡那麼這個數就是質數,只要這個數能除盡2,3,5,7的任何乙個數那麼這個數就是合數.

2:當這個數小於等於7時你就只需要記得2,3,5,7是質數就行了.

8樓:heh巨蟹

質數又稱素數。乙個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。

輾轉相除法是判斷兩個數是否互質的,而不是應用在乙個數上,是求兩個數的大公約數。

輾轉相除法的具體做法:用較小數除較大數,再用出現的餘數(第一餘數)去除除數,再用出現的餘數(第二餘數)去除第一餘數,如此反覆,直到最後餘數是0為止。如果是求兩個數的最大公約數,那麼最後的除數就是這兩個數的最大公約數。

這是具體流程圖,判斷乙個數是否是質數就是看它能否被除1以外的數整除。

9樓:匿名使用者

約數是成對出現的。比如24,你找到個約數3,那麼一定有個約數8,因為24/3=8。

然後,這對約數必須乙個在根號n之前,乙個在根號n之後。因為都在根號n之前的話,

乘積一定小於n(根號nx根號n=n),同樣,都在根號n之後的話,乘積一定大於n。

所以,如果你在根號n之前都找不到約數的話,那麼根號n之後就不會有了。

10樓:匿名使用者

乙個數,如果只有一和它本身的兩個因數這樣的數叫做質數

11樓:lv呂虎成

好像是除了1,2以外只要不被2,3,5,49整除的數都是質數

12樓:聆聽雨菲

質數就是在所有比1大的整數中,除了1和它本身以外,不再有別的約數,這種整數叫做質數或素數。還可以說成質數只有1和它本身兩個約數。簡單的說,就是這個數只能整除1和本身.

13樓:游擊隊副隊長

只能被1和它本身整除

14樓:裡先明

怎樣判斷數是不是質數,怎樣判斷乙個數是不是質數?

常用的就是厄拉多塞篩法,具體來說要判斷乙個自然數n是不是質數,就用小於sqrt n 的所有質數去除n如果都除不盡,那麼這個n是質數 厄拉多塞篩法也是構造質數表的方法 如果將厄拉多塞篩法予以改進,則可以證明golgbach猜想的 9,9 命題。輾轉相除 的方法是判斷兩個數是否互質。所以判斷是不是質數是...

vb怎樣判斷數是否是整數,vb怎樣判斷乙個數是否是整數?

沒有小數點的數是整數 if isnumeric text1.text then text1.text end if 判斷乙個數是否為整數,用c 怎樣算?c語言判斷乙個數是否為整數 使用截尾函式可以驗證!截尾函式是指將小數點後面的全部丟掉!所以,如果是整數的話,那麼截去小數點後面的應該等於原來的這個數...

判斷數n能否同時被3和5整除。用傳統流程圖表示問題的演算法

能3整除的數n只要把n的每個位數加起來除以3得整數,都能被3整除,否則不能 只要個位數是0和5的數n都能被5整除 流程圖很簡單,畫兩個,用菱形表示選擇是否整除。不會畫再問,不能再簡單了!3和5的最小公倍數為15,所以只要乙個數能夠被15整除,就能同時被3和5整除。內容拓展 c語言 判斷乙個數n能否同...

菜鳥!求c 回文數判斷,菜鳥!求C 回文數判斷!

問明 include using namespace std int main int n,s,x 0 cin n s n while s 0 x x 10 s 10 s s 10 if x n cout yes cout no include using namespace std bool is...

若n為大於1的自然數,求證 1 n 1 1 2n

n為大於1的自然數 可以用數學歸納法來證 1 當n 2時 1 2 1 1 2 2 1 3 1 4 7 12 14 24 13 24成立 2 假設當n k時成立 即 1 k 1 1 k 2 1 k 1 1 k k 13 24 那麼當n k 1時 1 k 2 1 k 1 1 k k 1 2k 1 1 2...