鱼C论坛

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

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

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

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

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

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

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

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

我是这样写的
steps = 7
i = 1
FIND = False

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

if FIND == True:
    print('阶梯数是:', steps)
else:
    print('在程序限定的范围内找不到答案!')


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

就可以计算出结果?




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

最佳答案
2020-4-12 15:35:06
step太大了
想知道小甲鱼最近在做啥?请访问 -> 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  ……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-12 15:35:06 | 显示全部楼层    本楼为最佳答案   
step太大了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 08:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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