6-1 使用函数求素数和 (20 分)
使用函数求素数和
prime(p), 其中函数prime当用户传入参数p为素数时返回True,否则返回False. 在这里给出一组输入。例如: 在这里给出相应的输出。例如: 由题意可知:函数 素数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数; 函数 例如:一个数16,16除了1和它本身外的因数为(2*8,4*4),就可知分解时得到的两个数一定是一个小于等于sqrt(16)的,所以只需要遍历到sqrt(n)即可。
PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m函数接口定义:
在这里描述函数接口:
prime(p),返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和
裁判测试程序样例:
/* 请在这里填写答案 */m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
输入样例:
1 10
输出样例:
prime用来判断一个数是不是素数,而函数PrimeSum计算区间[m, n]内所有素数的和。prime:判断[m, n](1<=mimport math #调用数学函数库
def prime(p):if p==1: #1不是素数return Falseif p==2: #2是素数return Truea = Trueif p>2:for i in range(2,int(math.sqrt(p)+1)):#判断是否是素数(遍历到根号后的值,减少循环次数)if p%i==0:a = False #能整除i,不是素数,返回Falsebreakreturn a #在函数中return执行的做多只有 1 个,且一旦执行,函数运行会立即结束def PrimeSum(m,n):sum = 0for i in range(m,n+1):if prime(i): #调用另一个函数来判断这个数是不是素数sum +=ireturn sum
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
