中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

python怎么判斷素數

小億
337
2023-08-23 21:48:55
欄目: 編程語言

判斷一個數是否為素數,可以通過以下方法:

方法一:遍歷判斷

def is_prime(n):
if n < 2:
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 < 2:
return False
for i in range(2, math.isqrt(n) + 1):
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 < 2:
return False
if n < 4:
return True
if n % 2 == 0:
return False
for i in range(3, math.isqrt(n) + 1, 2):
if n % i == 0:
return False
return True
# 示例使用
print(is_prime(5))  # 輸出 True
print(is_prime(10))  # 輸出 False

方法四:使用Sieve of Eratosthenes(埃拉托斯特尼篩法)

def sieve_of_eratosthenes(n):
prime_list = [True] * (n + 1)
prime_list[0] = prime_list[1] = False
p = 2
while p * p <= n:
if prime_list[p]:
for i in range(p * p, n + 1, p):
prime_list[i] = False
p += 1
return prime_list
def is_prime(n):
prime_list = sieve_of_eratosthenes(n)
return prime_list[n]
# 示例使用
print(is_prime(5))  # 輸出 True
print(is_prime(10))  # 輸出 False

0
全南县| 和平区| 六枝特区| 黄大仙区| 庆阳市| 光泽县| 金秀| 定南县| 隆尧县| 汉源县| 保靖县| 甘谷县| 延寿县| 商丘市| 白玉县| 平遥县| 仙游县| 长沙市| 高要市| 贞丰县| 阜新| 定边县| 乌恰县| 南木林县| 阿拉善右旗| 佛坪县| 册亨县| 新泰市| 北票市| 徐水县| 庆城县| 永春县| 东明县| 灵丘县| 佛冈县| 乌拉特后旗| 黄陵县| 清水河县| 江达县| 封丘县| 仪陇县|