鱼C论坛

 找回密码
 立即注册
查看: 3852|回复: 6

韩信点兵问题

[复制链接]
发表于 2022-10-25 09:34:14 | 显示全部楼层 |阅读模式

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

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

x
韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。编程求韩信至少有多少兵?用for循环怎么搞
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-10-25 10:09:07 | 显示全部楼层
  1. n = 1
  2. while True:
  3.     if n % 5 == 1 and n % 6 == 5 and n % 7 == 4 and n % 11 == 10:
  4.         print(n)
  5.         break
  6.     n += 1
复制代码

        运行实况:
  1. D:\[00.Exerciese.2022]\Python>python x.py
  2. 2111

  3. D:\[00.Exerciese.2022]\Python>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-25 10:14:55 | 显示全部楼层
答案是多少?

  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. count = 0
  5. while True:
  6.     a = (count % 5) + 1
  7.     b = (count % 6) + 1
  8.     c = (count % 7) + 1
  9.     d = (count % 11) + 1
  10.     count += 1
  11.     if a != 1: continue
  12.     if b != 5: continue
  13.     if c != 4: continue
  14.     if d != 10: continue
  15.     print(count)
  16.     break
  17. sh-5.1$ ./main.py
  18. 2111
  19. sh-5.1$
复制代码

  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. from itertools import repeat

  5. count = 0
  6. for _ in repeat(None):
  7.     a = (count % 5) + 1
  8.     b = (count % 6) + 1
  9.     c = (count % 7) + 1
  10.     d = (count % 11) + 1
  11.     count += 1
  12.     if a != 1: continue
  13.     if b != 5: continue
  14.     if c != 4: continue
  15.     if d != 10: continue
  16.     print(count)
  17.     break
  18. sh-5.1$ ./main.py
  19. 2111
  20. sh-5.1$
复制代码

  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. from itertools import count

  5. for i in count():
  6.     a = (i % 5) + 1
  7.     b = (i % 6) + 1
  8.     c = (i % 7) + 1
  9.     d = (i % 11) + 1
  10.     if a != 1: continue
  11.     if b != 5: continue
  12.     if c != 4: continue
  13.     if d != 10: continue
  14.     print(i)
  15.     break
  16. sh-5.1$ ./main.py
  17. 2110
  18. sh-5.1$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-25 10:15:29 | 显示全部楼层
2110  是吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-25 10:18:13 | 显示全部楼层
  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. count = -1
  5. while True:
  6.     count += 1
  7.     a = (count % 5) + 1
  8.     b = (count % 6) + 1
  9.     c = (count % 7) + 1
  10.     d = (count % 11) + 1
  11.     if a != 1: continue
  12.     if b != 5: continue
  13.     if c != 4: continue
  14.     if d != 10: continue
  15.     print(count)
  16.     break
  17. sh-5.1$ ./main.py
  18. 2110
  19. sh-5.1$
复制代码

  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. from itertools import repeat

  5. count = -1
  6. for _ in repeat(None):
  7.     count += 1
  8.     a = (count % 5) + 1
  9.     b = (count % 6) + 1
  10.     c = (count % 7) + 1
  11.     d = (count % 11) + 1
  12.     if a != 1: continue
  13.     if b != 5: continue
  14.     if c != 4: continue
  15.     if d != 10: continue
  16.     print(count)
  17.     break
  18. sh-5.1$ ./main.py
  19. 2110
  20. sh-5.1$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-25 10:20:15 | 显示全部楼层
这个版本的最好,我最喜欢
  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. from itertools import count

  5. for i in count():
  6.     a = (i % 5) + 1
  7.     b = (i % 6) + 1
  8.     c = (i % 7) + 1
  9.     d = (i % 11) + 1
  10.     if a != 1: continue
  11.     if b != 5: continue
  12.     if c != 4: continue
  13.     if d != 10: continue
  14.     print(i)
  15.     break
  16. sh-5.1$ ./main.py
  17. 2110
  18. sh-5.1$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-10-25 10:24:41 | 显示全部楼层
答案是 2111
  1. sh-5.1$ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. from itertools import count

  5. for i in count():
  6.     a = (i % 5) + 1
  7.     b = (i % 6) + 1
  8.     c = (i % 7) + 1
  9.     d = (i % 11) + 1
  10.     if a != 1: continue
  11.     if b != 5: continue
  12.     if c != 4: continue
  13.     if d != 10: continue
  14.     print(i + 1)
  15.     break
  16. sh-5.1$ ./main.py
  17. 2111
  18. sh-5.1$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 01:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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