java判斷乙個數是否為素數 質數

2021-09-17 04:17:02 字數 777 閱讀 2505

質數(prime number)又稱素數,定義為乙個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數。

第乙個思路

假如我們需要判斷數字是33,因為所有的數都可以被1整除,所以我們從2開始,一直到33-1=32進行遍歷,看看這個數可以被哪些數整除,如果33對某個數求余為0即被某個數整除(這裡遍歷時首先可以被3整除),那麼就可以確定33不是素數,直接可以break跳出迴圈,不需要對3後面的數驗證了。如果要判斷的數n是素數,那麼進行剛才的遍歷之後 i 已經自增到n了,此時判斷i與n相等即可。

public static void isprime(int n)

if (m == 0)

system.out.println(n+"是素數");

else

system.out.println(n+"不是素數");

}

驗證

public static void main(string args)
執行結果

判斷乙個數是否為素數

判斷乙個數n是否是素數,只需要判斷它是否能被2到n之間的數整除就行了,若不能被整除,則說明是素數。考慮到某數大於n 2時,n不可能被該數整除,故只需遍歷2 n 2即可。更進一步,由合數定理可知,若乙個數是合數,則它的最小質因數必小於等於該數的平方根,由此可得更為高效的 如下 include incl...

判斷素數 Python判斷乙個數是否為素數

素數的定義 乙個數如果只能被1和自身整除,則該數為素數。如果用程式設計的思維思考,則是說,如果乙個數被比它小的數 1除外 整除後餘數為0,則說明這個數可以被其他數整除,則該數為合數,否則該數為質數。python 如下 注釋 range 的起始值應該設為2,如果起始值設為1,則會第一次列印說該數是合數...

判斷乙個數是否為質數(素數)

從鍵盤上輸入乙個數,判斷這個是數是否為質數 素數 質數 素數 除了1和它本身不能被其它數整數的數。如果 i,n 都是整數,那麼 i n 0,那麼就稱 i 是 n 的倍數,n 是 i 的約數或者因數,n 整除 i,i 被 n 整除。演算法 判斷乙個數是否質數 素數 只需判斷有沒有乙個數可以整除這個數就...