溫馨提示×

python如何求質數

小億
121
2023-08-10 20:26:34
欄目: 編程語言

我們可以使用以下兩種方法來判斷一個數是否是質數:

方法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是質數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女