📜  一个数的所有素数之和 |设置 2(1)

📅  最后修改于: 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() 函数的实现并不是最优秀的,如果需要计算大量素数,建议使用更加高效的素数筛选算法。