第六讲爱因斯坦台阶数的那个题
x = 7i = 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 是啥意思啊?有点看不懂,求大神指教 x 是每次尝试的数字,是7的倍数
i 是循环变量,依次为1,2,3,4,。。。
flag用来判断是否找到了想要的数,默认为0,如果找到就改成1 了
if flag == 1 就是判断是不是找到了 flag相当于一个开关。
初始化的时候,设置为关(0),等符合条件了,就把这个开关打开(重新赋值为1)。
BngThea 发表于 2020-4-1 15:21
x 是每次尝试的数字,是7的倍数
i 是循环变量,依次为1,2,3,4,。。。
flag用来判断是否找到了想要的数, ...
谢谢,豁然开朗 heidern0612 发表于 2020-4-1 15:58
flag相当于一个开关。
初始化的时候,设置为关(0),等符合条件了,就把这个开关打开(重新赋值为1)。 ...
感谢感谢,我明白啦 BngThea 发表于 2020-4-1 15:21
x 是每次尝试的数字,是7的倍数
i 是循环变量,依次为1,2,3,4,。。。
flag用来判断是否找到了想要的数, ...
我刚才试了下 x = 3 ,也是答案119,是不是x 为任意数都可以啊? bailean 发表于 2020-4-2 16:29
我刚才试了下 x = 3 ,也是答案119,是不是x 为任意数都可以啊?
初始化的时候是
页:
[1]