鱼C论坛

 找回密码
 立即注册
查看: 2322|回复: 1

第六章课后作业那个爱因斯坦的问题有点搞不懂,求大神指点一下,谢谢!

[复制链接]
发表于 2015-3-15 21:38:43 | 显示全部楼层 |阅读模式

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

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

x
x = 7
i = 1
flag = 0

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
        flag = 1
    else:
        x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

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

pass:我有点想不通为什么x直接赋值为7,赋值以后下面的if语句怎么还用X?flag = 0是什么意思我也不太清粗,如果大神有时间,最好是把整段代码解释一下,非常感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-3-16 07:49:06 | 显示全部楼层
因为爱因斯坦说每步上7层会没有剩余。那最小也得是7层呗。
x ---> 楼层数。7不行了就14再不行21,反正得是7的倍数。(要是还不懂,多看几遍题目就能看懂,亲测有效!)初始值也不一定非得是7,目测的话上6层余5怎么着最小也得是35.一个个加也行啊。x = 0,下面的变成x += 1
flag ---> 是否有答案的标志,因为只有这一层(x),从基层开始每步上2层余1(x%2 == 1),每步上三层余2(x%3 == 2),每步上五层余4(x%5 == 4),每步上6层余5(x%6==5),才会让flag变化。(是几无所谓,保持一致就行。)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-15 06:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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