【问题描述】
输入一个正整数n,统计从[0,n]之间的最大的10个素数之和。本题保证测试用例至少有10个满足条件的素数。
例如:输入31 ,应求得3,5,7,11,13,17,19,23,29,31之和。
本题要求使用自定义函数完成,代码框架参考如下:
def isprime(n): #判断素数函数
......
def f(n): #找小于n的素数并求和
......
......
p=int(input())
print(f(p))
【输入形式】
【输出形式】
【样例输入】
# 计算素数列表中最大的十个数之和
def f(lst):
s = 0
lst.sort()
for i in lst[-10:]:
s = s + i
return s
# 得到素数并放入列表中
def isprime(n):
ls = []
for i in range(0, n + 1):
x = 1
for p in range(2, i):
if i % p == 0:
x = 0
if x == 1:
ls.append(i)
return ls
n = int(input())
l = isprime(n)
# print(l)
sum1 = f(l)
print(sum1)
31
【样例输出】
158