📅  最后修改于: 2023-12-03 15:21:26.157000             🧑  作者: Mango
本程序可计算一个数的所有素数之和。
在程序中,我们使用 is_prime()
函数来判断一个数是否为素数,然后在主函数中循环判断每个数是否为素数,如果是素数,则加入素数列表,并计算素数之和。
def is_prime(n):
"""
判断一个数是否为素数
"""
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def sum_of_primes(n):
"""
计算一个数的所有素数之和
"""
primes = []
for i in range(2, n + 1):
if is_prime(i):
primes.append(i)
return sum(primes)
使用本程序非常简单,只需要调用 sum_of_primes(n)
函数,并将需要计算的数值 n
作为参数传入即可。
例如要计算 1000 的所有素数之和,只需要这样:
print(sum_of_primes(1000))
本程序中 is_prime()
函数的实现并不是最优秀的,如果需要计算大量素数,建议使用更加高效的素数筛选算法。