当先锋百科网

首页 1 2 3 4 5 6 7

在Python中,我们可以使用代码来判断一个数是否为质数或者将一个数分解成若干个质数的乘积。

# 判断一个数是否为质数
def is_prime(n):
"""
判断n是否为质数
"""
if n< 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True

上面的代码通过循环枚举从2到n开根号的所有数,如果n能够被其中的一个数整除,则n不是质数。否则,n是质数。

# 分解一个数为若干个质数的乘积
def decompose(n):
"""
将n分解为若干个质数的乘积
"""
result = []
if n< 2:
return result
i = 2
while i<= n:
if n % i == 0:
result.append(i)
n = n // i
else:
i += 1
return result

上面的代码通过循环一次次地从小到大枚举因子,将n分解成若干个质数的乘积。如果将所有的因子都枚举完之后,n仍然大于1,那么n就是一个大于sqrt(n)的质数。

使用Python计算质数和分解质因数非常便利,希望本文能够对大家有所帮助。