鍵盤輸入乙個數, 判斷是否為素數
最直觀的想法就是用1-n 中間的數依次除, 有能被整除的那就不是了。這樣的時間複雜度是o(n).
我們可以總結一下:乙個數字, 如果它是兩個數字的乘機,那麼它的分解因子怎麼分布呢?
15 = 3 * 5, 3 5 都小於 15/2
16 = 2 * 8 2 8 小於等於 16/2這應該就是最極端的了吧
綜上, 我們就可以只試 2- n/2 之間的數就可以了
我們進一步總價一下:
16 = 2 * 8
= 4 * 4
= 8 * 2
24 = 2 * 12
= 3 * 8
= 4 * 6
= 4. 8989 * 4.8989
= 6 * 4
= 8 * 3
= 12 * 2
我們發現, 被乘數 增加, 乘數就減小。 過了某乙個界限, 其實就是乘數和被乘數互換位置。 鑑於乘法的交換律。 其實就是一樣的了。那麼這個界限是什麼呢。最理想的時候也就是 n的開方
判斷乙個數是否為質數(素數)
從鍵盤上輸入乙個數,判斷這個是數是否為質數 素數 質數 素數 除了1和它本身不能被其它數整數的數。如果 i,n 都是整數,那麼 i n 0,那麼就稱 i 是 n 的倍數,n 是 i 的約數或者因數,n 整除 i,i 被 n 整除。演算法 判斷乙個數是否質數 素數 只需判斷有沒有乙個數可以整除這個數就...
java判斷乙個數是否為素數 質數
質數 prime number 又稱素數,定義為乙個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數。第乙個思路 假如我們需要判斷數字是33,因為所有的數都可以被1整除,所以我們從2開始,一直到33 1 32進行遍歷,看看這個數可以被哪些數整...
ruby判斷乙個數是否為質數 素數 示例
ruby判斷乙個數是否程式設計客棧為質數 質數程式設計客棧又稱素數。乙個大於1的自然數,如果除了1和它自身外,不能被其他自然數整除的數 除0以外 否則稱為合數 根據算術基本定理,每乙個比1大的整數,要麼本身是乙個質數,要麼可以寫成一系列質數的乘積 而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形...