判斷乙個數是否是質數

2021-10-02 13:18:32 字數 780 閱讀 9530

乙個數如果可以進行因數分解,那麼分解的兩個數一定是乙個小於等於sqrt(n),乙個大於等於sqrt(n),因此遍歷到sqrt(n)即可。因為如果sqrt(n)左側找不到因數,右側也一定找不到因數。中心思想:遍歷n是否能被2到sqrt(n)之間的數整除,如果不能則為質數。

import math

defis_prime

(n):

if n==1:

return

false

elif n==2:

return

true

else

:for i in

range(2

,int

(math.sqrt(n))+

1):if n%i==0:

return

false

return

true

print

(is_prime(5)

)#true

print

(is_prime(9)

)#false

由上面的判斷乙個數是否是質數引申判斷某個範圍內的質數有哪些?可以用下面的方法進行判斷

result=

for i in

range(1

,100

)if is_prime(i)

:print

("result=%s"

%result)

#result裡面就是[1,100]範圍內的質數

演算法小練習 判斷乙個數是否是質數

第一種常規方法 var isprime function num 查表直接返回的素數 var pmap return dmap num false pmap num true num 5 false num 1 6 true num 1 6 true false 第二種方法 var isprime ...

JS判斷乙個數是否為質數

非正則實現function isprime num 因為2是比較特殊的質數,所以先拿出來 if num 2 else if num 2 0 依次判斷是否能被奇數整除,最大迴圈為數值的開方 let squareroot math.sqrt num 因為2已經驗證過,所以從3開始 且已經排除偶數,所以每...

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

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