bailean 发表于 2020-4-1 15:18:37

第六讲爱因斯坦台阶数的那个题

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


能给解释一下设的x   i   flag各代表的的啥吗?    还有,那个 flag = 1,   if flag == 1 是啥意思啊?有点看不懂,求大神指教

BngThea 发表于 2020-4-1 15:21:39

x 是每次尝试的数字,是7的倍数
i 是循环变量,依次为1,2,3,4,。。。
flag用来判断是否找到了想要的数,默认为0,如果找到就改成1 了
if flag == 1 就是判断是不是找到了

heidern0612 发表于 2020-4-1 15:58:48

flag相当于一个开关。

初始化的时候,设置为关(0),等符合条件了,就把这个开关打开(重新赋值为1)。

bailean 发表于 2020-4-1 16:06:35

BngThea 发表于 2020-4-1 15:21
x 是每次尝试的数字,是7的倍数
i 是循环变量,依次为1,2,3,4,。。。
flag用来判断是否找到了想要的数, ...

谢谢,豁然开朗

bailean 发表于 2020-4-1 16:07:06

heidern0612 发表于 2020-4-1 15:58
flag相当于一个开关。

初始化的时候,设置为关(0),等符合条件了,就把这个开关打开(重新赋值为1)。 ...

感谢感谢,我明白啦

bailean 发表于 2020-4-2 16:29:25

BngThea 发表于 2020-4-1 15:21
x 是每次尝试的数字,是7的倍数
i 是循环变量,依次为1,2,3,4,。。。
flag用来判断是否找到了想要的数, ...

我刚才试了下 x = 3 ,也是答案119,是不是x 为任意数都可以啊?

BngThea 发表于 2020-4-2 16:57:57

bailean 发表于 2020-4-2 16:29
我刚才试了下 x = 3 ,也是答案119,是不是x 为任意数都可以啊?

初始化的时候是
页: [1]
查看完整版本: 第六讲爱因斯坦台阶数的那个题