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

求区间素数的问题,输出错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报