云朵颂 发表于 2018-1-16 11:29:49

阶梯题目,看不懂答案

题目:有一个长阶梯 ,若每步上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('在程序限定的范围内找不到答案!')

看不懂上面的代码,while 下面的flag=1是什么意思? i 定义的是什么? flag是?

BngThea 发表于 2018-1-16 11:33:02

flag只是一个标识的变量,用来作为if的判断条件
刚开始的时候是为0的,当找到一个满足条件,将它的值修改为1
因为当flag为1的时候,后面的if判断成立,就能进行相应的操作了

云朵颂 发表于 2018-1-16 17:02:19

BngThea 发表于 2018-1-16 11:33
flag只是一个标识的变量,用来作为if的判断条件
刚开始的时候是为0的,当找到一个满足条件,将它的值修改 ...

那x 和 i 分别又是什么呢{:10_324:}

BngThea 发表于 2018-1-16 17:26:43

云朵颂 发表于 2018-1-16 17:02
那x 和 i 分别又是什么呢

x 就是可能满足条件的值
i只是一个倍数,用来和7相乘得到7的倍数,并赋值给x

云朵颂 发表于 2018-1-16 18:15:47

BngThea 发表于 2018-1-16 17:26
x 就是可能满足条件的值
i只是一个倍数,用来和7相乘得到7的倍数,并赋值给x

还是不太懂这个逻辑,我理解能力太差{:10_266:}
页: [1]
查看完整版本: 阶梯题目,看不懂答案