python 第006讲 计算台阶问题,看不懂代码
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上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('在程序限定的范围内找不到答案!')
flag看不懂是啥,求解
就是作为一个标志,表示找到了符合if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):判断的x 作为合理答案存在与否的标记 昨非 发表于 2020-9-16 10:03
作为合理答案存在与否的标记
懵懵懂懂,下午我再看看吧{:10_266:} 疾风怪盗 发表于 2020-9-16 09:59
就是作为一个标志,表示找到了符合if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):判断的x
程序是咋循环的又看不懂了{:10_250:} 爱你的小优 发表于 2020-9-16 10:23
程序是咋循环的又看不懂了
就是从1到100一直循环,满足条件了标志1,没满足x += 7就可以了,这个代码写的有点繁琐了,这样写
for x in range(7, 700,7):
if x%2==1 and x%3==2 and x%5==4 and x%6==5:
print('阶梯数是:', x)
break
else:
print('在程序限定的范围内找不到答案!') 爱你的小优 发表于 2020-9-16 10:23
程序是咋循环的又看不懂了
初始i是0,while执行一次累加1,一直到i=101时while停止循环
初始x是7,while每次执行都把x去做if判断,如果符合的,flag就标志为1,说明找到了,不符合if的,执行else下代码对x做运算,求出新的x,进入下一个while判断 疾风怪盗 发表于 2020-9-16 10:33
初始i是0,while执行一次累加1,一直到i=101时while停止循环
初始x是7,while每次执行都把x去做if判断, ...
好的,我下午有问题再问 爱你的小优 发表于 2020-9-16 10:39
好的,我下午有问题再问
{:10_324:}先结一个帖子,有问题再开新求助吧 疾风怪盗 发表于 2020-9-16 10:41
先结一个帖子,有问题再开新求助吧
好的
页:
[1]