鱼C论坛

 找回密码
 立即注册
查看: 1770|回复: 5

[已解决]输出一个特定范围内的素数

[复制链接]
发表于 2021-10-31 15:27:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229
for i in range(200,1000):
 for j in range(2,i):
        if i%j==0:
            break
        print(i,end='')

count=”已经输出的素数个数"
if count%6==0:
    print()
要输出200到1000以内的所有素数并且按照每一行六个的形式输出,上面是我写的代码输出的一部分和我写的代码,我想问为什么输出来的还会有重复的数字啊而且每行也不止六个







































最佳答案
2021-10-31 15:47:03
本帖最后由 大马强 于 2021-10-31 15:48 编辑
count = 1
for i in range(200, 1000):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        count += 1
        print(i, end=' ')
    flage = 1  # 重新赋值
    if count % 7 == 0:
        count = 1  # 也需要重新赋值,要不然下一次还是会换行
        print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-31 15:35:39 | 显示全部楼层
你的输出放到j循环里了,然后count设成字符串了.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-10-31 15:37:29 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-10-31 15:41 编辑

很多错:
1.)缩排
2.)print(end = '') 表示不换行
3.)下方的 if count%6==0: print() 更本就很奇怪(为什么不是在循环里面,而是等到循环结束后才开始想换行?)
更正后:
for i in range(200, 1000):
    for j in range(2, i):
        if i%j == 0:
            break
    else:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-10-31 15:47:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大马强 于 2021-10-31 15:48 编辑
count = 1
for i in range(200, 1000):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        count += 1
        print(i, end=' ')
    flage = 1  # 重新赋值
    if count % 7 == 0:
        count = 1  # 也需要重新赋值,要不然下一次还是会换行
        print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-31 16:03:57 | 显示全部楼层
本帖最后由 jackz007 于 2021-10-31 16:05 编辑
#coding:gbk
c = 0 
for i in range(200,1000):
    for j in range(2 , i):
        if i % j == 0 :
            break
    else:  # 内层循环正常结束,说明当前 i 是一个素数
        if c:    
            print() if c % 6 == 0 else print(' , ' , end = '')
        print(i , end = '')
        c += 1
print()        
print('已经输出了 %d 个素数' % c)
        运行实况:
211 , 223 , 227 , 229 , 233 , 239
241 , 251 , 257 , 263 , 269 , 271
277 , 281 , 283 , 293 , 307 , 311
313 , 317 , 331 , 337 , 347 , 349
353 , 359 , 367 , 373 , 379 , 383
389 , 397 , 401 , 409 , 419 , 421
431 , 433 , 439 , 443 , 449 , 457
461 , 463 , 467 , 479 , 487 , 491
499 , 503 , 509 , 521 , 523 , 541
547 , 557 , 563 , 569 , 571 , 577
587 , 593 , 599 , 601 , 607 , 613
617 , 619 , 631 , 641 , 643 , 647
653 , 659 , 661 , 673 , 677 , 683
691 , 701 , 709 , 719 , 727 , 733
739 , 743 , 751 , 757 , 761 , 769
773 , 787 , 797 , 809 , 811 , 821
823 , 827 , 829 , 839 , 853 , 857
859 , 863 , 877 , 881 , 883 , 887
907 , 911 , 919 , 929 , 937 , 941
947 , 953 , 967 , 971 , 977 , 983
991 , 997
已经输出 122 个素数

D:\00.Excise\Python>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-31 16:33:27 | 显示全部楼层
谢谢大家了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 21:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表