当前位置:   article > 正文

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

python中求某个区间内所有素数的个数及求和

题目:

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

思路

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

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

3、判断素数

4、求素数和,并输出

知识点

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

代码

  1. import math
  2. m=eval(input("请输入区间【m,n】中的m:"))
  3. n=eval(input("请输入区间【m,n】中的n:"))
  4. def PrimeSum(m,n):
  5. q = 2
  6. flag = True
  7. sum=0
  8. if 1<=m<n:
  9. for i in range(m,n,1):
  10. j=int(math.sqrt(i))
  11. while (q <= j and flag == True):
  12. if i % q == 0:
  13. flag = False
  14. else:
  15. i += 1
  16. if flag==True:sum+=i
  17. else:print("您输入的范围不对,请重新输入!")
  18. return sum
  19. print("[%d,%d]之间所有的素数之和为%d"%(m,n,PrimeSum(m,n)))

结果

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

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

闽ICP备14008679号