当前位置:   article > 正文

用函数实现求所有(50~100)之间素数的和_python 使用函数求素数和

python 使用函数求素数和

以下是Python的代码实现:

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True

def sum_primes(start, end):
    primes_sum = 0
    for num in range(start, end+1):
        if is_prime(num):
            primes_sum += num
    return primes_sum

# 测试
start, end = 50, 100
primes_sum = sum_primes(start, end)
print(f"{start}~{end}之间所有素数的和为:", primes_sum)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

解释一下代码:

  • 第2~8行定义了一个名为is_prime的函数,用于判断一个整数是否是素数。根据素数的定义,所有小于2的数都不是素数。而大于等于2的数,如果在(2, 根号n]范围内没有其他整数能够整除它,那么它就是素数。
  • 第1015行定义了一个名为`sum_primes`的函数,输入参数为起始和结束数字。题目中要求计算50100之间素数的和,因此这里默认输入的起始和结束数字分别为50和100。
  • 第12行创建一个变量primes_sum初始化为0,存储所有素数的和。
  • 第13~15行在循环过程中判断当前数字是否是素数,如果是,则加入到primes_sum中。
  • 第16行使用return语句将计算的所有素数和作为结果返回。
  • 第19~21行调用sum_primes函数,并将返回结果存储到变量primes_sum中。
  • 最后输出相关信息。

注意:在判断一个整数是否是素数时,只需要检查从2到根号n之间的数字就行了。这是因为如果n可以被m整除,那么m一定有一个对应的因子k,而k也可以被n/m整除。其中至少有一个因子小于或等于根号n,而另一个则大于或等于根号n。因此如果我们遍历到根号n还没有找到能够整除n的因子,那么n一定是素数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/329306
推荐阅读
相关标签
  

闽ICP备14008679号