m0_69538157 2022-06-07 00:30 采纳率: 88.9%
浏览 25
已结题

求区间素数的问题,输出错误

img

img

img

按上面的要求,我输出的为啥要多而且还重复
我的思路是 如果一个数除不是1和它本身的数能整除(1个即可,break)则不算,其他的数都为素数。

  • 写回答

3条回答 默认 最新

  • wky_dzxy 2022-06-07 07:16
    关注

    你这和我之前写代码写的一模一样……
    你再仔细看看你的代码,你输出的是i%j不等于0的数,也就是说每循环到一次非i因数时都会输出一次,即使i是个非素数
    可以用一个布尔型变量或列表,

    下面代码仅供参考

    qd=int(input())
    zd=int(input())
    flag=True
    list1=[]
    for i in range(qd,zd):
        flag=True
        for j in range(2,int(i**0.5)+1):
            if i%j==0:
                flag=False
                break
        if flag==True:
            list1.append(i)
    for i in range(len(list1)):
        print(list1[i],end=" ")
        if (i+1)%5==0:
            print()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 已采纳回答 6月7日
  • 创建了问题 6月7日