有多種方法可以用Python編寫質數的算法。下面是兩種常見的方法:
方法一:使用除法 該算法通過逐個除以小于該數的所有整數,判斷是否存在能整除該數的數。如果存在則不是質數,否則是質數。
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
# 示例用法
print(is_prime(5)) # 輸出 True
print(is_prime(10)) # 輸出 False
方法二:使用開方 該算法通過判斷一個數是否能被小于等于其平方根的質數整除,判斷是否為質數。這是因為如果一個數可以被大于其平方根的數整除,那它也一定可以被小于等于其平方根的質數整除。
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
# 示例用法
print(is_prime(5)) # 輸出 True
print(is_prime(10)) # 輸出 False
這兩種算法都可以判斷一個數是否為質數,但第二種方法的效率更高,特別是當需要判斷大量的數是否為質數時,建議使用第二種方法。