鱼C论坛

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

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

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

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

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

x


229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229229

  1. for i in range(200,1000):
  2. for j in range(2,i):
  3.         if i%j==0:
  4.             break
  5.         print(i,end='')

  6. count=”已经输出的素数个数"
  7. if count%6==0:
  8.     print()
复制代码

要输出200到1000以内的所有素数并且按照每一行六个的形式输出,上面是我写的代码输出的一部分和我写的代码,我想问为什么输出来的还会有重复的数字啊而且每行也不止六个







































最佳答案
2021-10-31 15:47:03
本帖最后由 大马强 于 2021-10-31 15:48 编辑
  1. count = 1
  2. for i in range(200, 1000):
  3.     for j in range(2, i):
  4.         if i % j == 0:
  5.             break
  6.     else:
  7.         count += 1
  8.         print(i, end=' ')
  9.     flage = 1  # 重新赋值
  10.     if count % 7 == 0:
  11.         count = 1  # 也需要重新赋值,要不然下一次还是会换行
  12.         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() 更本就很奇怪(为什么不是在循环里面,而是等到循环结束后才开始想换行?)
更正后:
  1. for i in range(200, 1000):
  2.     for j in range(2, i):
  3.         if i%j == 0:
  4.             break
  5.     else:
  6.         print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

使用道具 举报

发表于 2021-10-31 16:03:57 | 显示全部楼层
本帖最后由 jackz007 于 2021-10-31 16:05 编辑
  1. #coding:gbk
  2. c = 0
  3. for i in range(200,1000):
  4.     for j in range(2 , i):
  5.         if i % j == 0 :
  6.             break
  7.     else:  # 内层循环正常结束,说明当前 i 是一个素数
  8.         if c:   
  9.             print() if c % 6 == 0 else print(' , ' , end = '')
  10.         print(i , end = '')
  11.         c += 1
  12. print()        
  13. print('已经输出了 %d 个素数' % c)
复制代码

        运行实况:
  1. 211 , 223 , 227 , 229 , 233 , 239
  2. 241 , 251 , 257 , 263 , 269 , 271
  3. 277 , 281 , 283 , 293 , 307 , 311
  4. 313 , 317 , 331 , 337 , 347 , 349
  5. 353 , 359 , 367 , 373 , 379 , 383
  6. 389 , 397 , 401 , 409 , 419 , 421
  7. 431 , 433 , 439 , 443 , 449 , 457
  8. 461 , 463 , 467 , 479 , 487 , 491
  9. 499 , 503 , 509 , 521 , 523 , 541
  10. 547 , 557 , 563 , 569 , 571 , 577
  11. 587 , 593 , 599 , 601 , 607 , 613
  12. 617 , 619 , 631 , 641 , 643 , 647
  13. 653 , 659 , 661 , 673 , 677 , 683
  14. 691 , 701 , 709 , 719 , 727 , 733
  15. 739 , 743 , 751 , 757 , 761 , 769
  16. 773 , 787 , 797 , 809 , 811 , 821
  17. 823 , 827 , 829 , 839 , 853 , 857
  18. 859 , 863 , 877 , 881 , 883 , 887
  19. 907 , 911 , 919 , 929 , 937 , 941
  20. 947 , 953 , 967 , 971 , 977 , 983
  21. 991 , 997
  22. 已经输出 122 个素数

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 23:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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