|
|
发表于 2013-9-27 22:14:23
|
显示全部楼层
本帖最后由 福禄娃娃 于 2013-9-28 08:25 编辑
flag相当于一个标志位,当flag=1时表明条件符合正确的台阶数。最后再根据flag的值便可以进行判断是否符合条件。
i+=1是提供循环得以进行,i初始值为1,如果i一直不发生变化,那么wihile始终为真,变成死循环了。
else 后接 x = 7*(i+1) 的意思是这个楼梯的台阶数对7取余为0,所以台阶数为7的整数倍。用于对x的自增。
这个程序只需要循环16次便可求出117了,后面的84次循环多余了。我觉得可以改进下效率:- x = 7
- i = 1
- flag = 0
- while i <= 16:
- if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
- flag = 1
- else:
- x = 7 * (i+1)
- i += 1
- if flag == 1:
- print('阶梯数是:', x)
- else:
- print('在程序限定的范围内找不到答案!')
复制代码
- for i in range(7, 120, 7):
- if (i % 2 == 1) and (i % 3 == 2) and (i % 5 == 4) and (i % 6 == 5) and (i % 7 == 0):
- print("台阶数为:", i)
复制代码
|
|