鱼C论坛

 找回密码
 立即注册
查看: 633|回复: 2

[已解决]第二版第11讲的课后作业有一点不懂

[复制链接]
发表于 2020-4-12 15:31:45 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 九歌独吟 于 2020-4-12 15:51 编辑

. 爱因斯坦曾出过这样一道有趣的数学题:

    有一个长阶梯,若每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶;只有每步上 7 阶,最后刚好一阶也不剩。

我是这样写的

  1. steps = 7
  2. i = 1
  3. FIND = False

  4. while i < 100:
  5.     if (steps % 2 == 1) and (steps % 3 == 2) and (steps % 5 == 4) and (steps % 6 == 5):
  6.         FIND = True
  7.         break
  8.     else:
  9.         steps = steps * (i + 1)
  10.     i = i + 1

  11. if FIND == True:
  12.     print('阶梯数是:', steps)
  13. else:
  14.     print('在程序限定的范围内找不到答案!')
复制代码



为什么我这样写会返回找不到答案,而把其中一句改成
  1. steps = 7 *(i + 1)
复制代码


就可以计算出结果?




我想通了,我写的steps会按7,14,42,168,840这样递增

最佳答案
2020-4-12 15:35:06
step太大了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-12 15:48:15 | 显示全部楼层
应该是每次循环step+7,
你写的steps = steps * (i + 1) 每次循环step都是几何级的增长啊
第一次step=7 ,第二次step=7*2=14, 第三次循环 step=14*3=42, 第四次循环 step=42*4=168  ……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-12 15:35:06 | 显示全部楼层    本楼为最佳答案   
step太大了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-14 16:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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