Python:素数求和
输入一个正整数n,统计从[0,n]之间的最大的10个素数之和。本题保证测试用例至少有10个满足条件的素数。例如:输入31 ,应求得3,5,7,11,13,17,19,23,29,31之和。def f(n):#找小于n的素数并求和。def isprime(n):#判断素数函数。
·
【问题描述】
输入一个正整数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))
【输入形式】
【输出形式】
【样例输入】
31
【样例输出】
158
【样例说明】
【评分标准】
"""
@author: 16379
"""
def isprime(n): #判断素数函数
a=0
m=int(pow(n,0.5))+1
for i in range(2,m+1):
if n%i == 0:
break
elif n%i != 0 and i==m:
a=1
return (a)
def f(n): #找小于n的素数并求和
ls=[]
for i in range (2,n+1):
a=isprime(i)
if a==0:
continue
elif a == 1:
ls.append(i)
l = ls[-10:]
# print(l)
# print(ls)
sum = 0
for j in l:
sum += j
return (sum)
p=int(input())
print(f(p))
更多推荐
已为社区贡献1条内容
所有评论(0)