赞
踩
输入一个正整数n,统计从[0,n]之间的最大的10个素数之和。本题保证测试用例至少有10个满足条件的素数。
本题要求使用自定义函数完成,代码框架参考如下:
def isprime(n): #判断素数函数
......
def f(n): #找小于n的素数并求和
......
......
p=int(input())
print(f(p))
输入: 31
输出: 3+5+7+11+13+17+19+23+29+31=158
平均代码量 21 行
- def isprime(n): # 判断素数函数
- if n < 2:
- return False
- for i in range(2, int(n ** 0.5) + 1):
- if n % i == 0:
- return False
- return True
-
- def f(n): # 找小于等于n的最大的10个素数并求和
- primes = []
- num = n
- while len(primes) < 10:
- if isprime(num):
- primes.insert(0,num)
- num -= 1
- sum_of_primes = sum(primes)
- expression = '+'.join(str(prime) for prime in primes)
- return f"{expression}={sum_of_primes}"
-
- p = int(input())
- print(f(p))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。