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

简介: 用函数实现求所有(50~100)之间素数的和

以下是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)

解释一下代码:

  • 第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一定是素数。

相关文章
|
C语言
用函数编程实现输出 m~n之间所有素数,并求和,m和n由键盘输入。(c语言)
用函数编程实现输出 m~n之间所有素数,并求和,m和n由键盘输入。(c语言)
862 0
(JAVA编程练习):判断101-200之间有多少个素数,并输出所有素数。
(JAVA编程练习):判断101-200之间有多少个素数,并输出所有素数。
(JAVA编程练习):判断101-200之间有多少个素数,并输出所有素数。
|
机器学习/深度学习 算法
实现数组求和!不能用循环、不能用库函数、怎么做?
前言 如果你没有可以的去刷过题或者学习算法,那么我相信很多人的心理过程都是这样一个变化:数组求和?这太简单了!...不对,不能用循环,不能用内置函数?那我咋办啊! 很多小伙伴刚开始以为这道题很简单,但是仔细一看却摸不着头脑。其实这道题说难不难,说简单也不简单,主要是看你对算法的灵敏度如何了。
609 0
|
8月前
|
算法 JavaScript 前端开发
寻找100到n之间的素数
【6月更文挑战第23天】
58 6
|
C语言
C语言一个判断素数的函数fun,在主函数中计算1000以内所有素数的平均值并输出
C语言一个判断素数的函数fun,在主函数中计算1000以内所有素数的平均值并输出
184 0
打印100到200之间的素数(函数方法)
打印100到200之间的素数(函数方法)
134 0
打印100到200之间的素数(函数方法)
|
C语言
C语言基础-编写求两个整数最大公约数的函数,并调用此函数求两个整数的最大公约数和最小公倍数。(头文件、方法主体、主函数,分离)
这是我个人学习c语言的练习,如果对你有帮助,请关注我,我将不定期更新,如果疑问或者建议可以在评论区留言沟通。
|
C语言
C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。
C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。
959 0

热门文章

最新文章