代码思路仅供参考,欢迎大家批评指正!
6-2 使用函数求素数和
prime(x), 其中函数prime当用户传入参数x为素数时返回True,否则返回False.
PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。
函数接口定义
在这里描述函数接口:
prime(p),返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和
裁判测试程序样例
/* 请在这里填写答案 */
m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
样例详情
思路
参考之前判断素数这篇:快速判断素数
代码
# By jurio.
def prime(x):
if (x == 2) or (x == 3):
return True
if (x % 6 != 1) and (x % 6 != 5):
return False
for i in range(5, int(x ** 0.5) + 1, 6):
if (x % i == 0) or (x % (i + 2) == 0):
return False
return True
def PrimeSum(m,n):
sumP = 0
m = 2 if m == 1 else m
for i in range(m, n+1):
if prime(i):
sumP += i
return sumP