Python:用函数求区间[m, n]内所有素数的和。

题目:

使用函数求素数和。
PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。

思路

1、先在键盘上输入区间范围。

2、判断区间范围左右边界的大小。

3、判断素数。

4、求素数和,并输出

知识点

素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为素数,否则m为合数。

代码

import math
m=eval(input("请输入区间【m,n】中的m:"))
n=eval(input("请输入区间【m,n】中的n:"))
def PrimeSum(m,n):
    q = 2
    flag = True
    sum=0
    if 1<=m<n:
        for i in range(m,n,1):
            j=int(math.sqrt(i))
            while (q <= j and flag == True):
                if i % q == 0:
                    flag = False
                else:
                    i += 1
            if flag==True:sum+=i
    else:print("您输入的范围不对,请重新输入!")
    return sum
print("[%d,%d]之间所有的素数之和为%d"%(m,n,PrimeSum(m,n)))

结果

请输入区间【m,n】中的m:1
请输入区间【m,n】中的n:10
[1,10]之间所有的素数之和为6

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_55638680

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值