我們可以使用以下兩種方法來判斷一個數是否是質數:
方法1:暴力遍歷法
我們可以遍歷從2到$n-1$的所有數,判斷是否能整除$n$。如果存在一個能整除$n$的數,則$n$不是質數;否則$n$是質數。
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
方法2:優化的方法
在暴力遍歷法中,我們只需要判斷$n$是否能被從2到$\sqrt{n}$的數整除即可。因為如果存在一個大于$\sqrt{n}$的因子,那么必然存在一個小于$\sqrt{n}$的因子。所以只需要判斷到$\sqrt{n}$即可。
import math
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
使用這兩種方法,你可以判斷一個數是否是質數。例如,調用is_prime(17)
會返回True,因為17是質數。