刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
简答题
38.编写Python程序,要求输出区间[m,n]内所有素数的和,实现上述功能的 Python 程序如下,请在划线处填入合适的代码。
def isPrime(num): #判断素数
num=int(num)
for i in range(2,num):
if ① :
return False
if num!=1:
return True
def PrimeSum(a,b):
sum=0
for i in range(a,b+1):
if isPrime(i):
②
return sum
m=int(input("m:"))
n=int(input("n:"))
print( ③ )
def isPrime(num): #判断素数
num=int(num)
for i in range(2,num):
if ① :
return False
if num!=1:
return True
def PrimeSum(a,b):
sum=0
for i in range(a,b+1):
if isPrime(i):
②
return sum
m=int(input("m:"))
n=int(input("n:"))
print( ③ )
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
1. 对于`isPrime`函数,我们不需要检查到`num`,只需要检查到`sqrt(num)`。因为如果`num`不是素数,那么它必定有一个因子小于或等于它的平方根。因此,我们可以优化`isPrime`函数,在循环中只检查到`sqrt(num)`。
2. 对于`PrimeSum`函数,如果`i`是素数,我们需要将其加入到`sum`中。因此,在`if isPrime(i):`语句下,我们需要添加`sum += i`。
3. 对于主程序部分,我们直接调用`PrimeSum(m, n)`并打印结果。
所以,划线处应填写的代码为:
①:`if num % i == 0:`
②:`sum += i`
③:`PrimeSum(m, n)`
创作类型:
原创
本文链接:38.编写Python程序,要求输出区间[m,n]内所有素数的和,实现上述功能的 Python 程序
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



