|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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 = 7 # 初始化台阶数
- i = 1 # 初始化循环次数
- flag = 0 # 初始化判断是否是爱因斯坦台阶的参数
- while i <= 100:
- # 若每步上2阶,最后剩1阶,就是 x % 2 == 1
- # 若每步上3阶,最后剩2阶,就是 x % 3 == 2
- # 若每步上5阶,最后剩4阶,就是 x % 5 == 4
- # 若每步上6阶,最后剩5阶,就是 x % 6 == 5
- # 只有每步上7阶最后不剩,所以我们直接初始拿 7 来作为起始台阶
- if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
- flag = 1 # 如果符合条件 则 flag = 1 为了让循环外面的 if flag == 1 判断 100 次内 有没有爱因斯坦台阶
- else:
- x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
-
- i += 1 # 这是记录循环次数,循环100次内查找爱因斯坦台阶
- if flag == 1: # 如果flag == 1 那么就是爱因斯坦台阶
-
- print('阶梯数是:', x) # 打印台阶数
-
- else:
- print('在程序限定的范围内找不到答案!') #反正在100次循环内找不到爱因斯坦台阶
复制代码
|
|