当前位置:   article > 正文

python--素数求和_python判断素数相加

python判断素数相加

 

任务描述

输入一个正整数n,统计从[0,n]之间的最大的10个素数之和。本题保证测试用例至少有10个满足条件的素数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

本题要求使用自定义函数完成,代码框架参考如下:

 
  1. def isprime(n): #判断素数函数
  2. ......
  3. def f(n): #找小于n的素数并求和
  4. ......
  5. ......
  6. p=int(input())
  7. print(f(p))

示例 1‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入: 31 输出: 3+5+7+11+13+17+19+23+29+31=158

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 平均代码量 21 行

  1. def isprime(n): # 判断素数函数
  2. if n < 2:
  3. return False
  4. for i in range(2, int(n ** 0.5) + 1):
  5. if n % i == 0:
  6. return False
  7. return True
  8. def f(n): # 找小于等于n的最大的10个素数并求和
  9. primes = []
  10. num = n
  11. while len(primes) < 10:
  12. if isprime(num):
  13. primes.insert(0,num)
  14. num -= 1
  15. sum_of_primes = sum(primes)
  16. expression = '+'.join(str(prime) for prime in primes)
  17. return f"{expression}={sum_of_primes}"
  18. p = int(input())
  19. print(f(p))

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

闽ICP备14008679号