鱼C论坛

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

#每日一问# 006讲关于爱因斯坦难题程序中不理解的地方

[复制链接]
发表于 2019-7-14 16:54:21 | 显示全部楼层 |阅读模式

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

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

x
2. 爱因斯坦的难题
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
(小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)

题目:请编程求解该阶梯至少有多少阶?

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('在程序限定的范围内找不到答案!')

中间这段 else:
        x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1
是什么意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-14 22:51:54 | 显示全部楼层
是7的倍数所以乘以7喽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-26 11:38:35 | 显示全部楼层
如果if条件不成立,那么x就等于7*(i+1),i += 1,因为题中已经明确告知了x是7的倍数,所以这么设计是调整了程序执行的步长,减少了循环次数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-6 08:55:12 | 显示全部楼层
soga
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-9 20:50:46 | 显示全部楼层
不知道叫啥好 发表于 2019-7-26 11:38
如果if条件不成立,那么x就等于7*(i+1),i += 1,因为题中已经明确告知了x是7的倍数,所以这么设计是调整了 ...

那个i+=1为什么不放在else下面,放在while循环里面不是会继续循环吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-12 09:23:38 | 显示全部楼层
挖掘师少女 发表于 2019-10-9 20:50
那个i+=1为什么不放在else下面,放在while循环里面不是会继续循环吗

你可以自动手把这一段代码写出来执行以下,i是while循环的退出条件,如果放到else里面,while就没有退出条件了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 21:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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