| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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次循环内找不到爱因斯坦台阶
 
 
  复制代码 
 
 
 |   
 
 
 
 |