关于求台阶数目的问题
答案: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('在程序限定的范围内找不到答案!')
问题:
0、flag = 0,是为了提前定义变量吗?,否则后边的循环体调用的时候,会报错是吗?我发现好多地方都是这样的
1、while i <= 100,这里为什么限定是100?
2、整个代码的逻辑没看明白(这个可能牵扯到数学了~_~),我用
if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5)and(x%7==0):
print(x)
好像也能算出来,而且这个题目答案,第一个满足条件的是119,后边还有很多满足条件的整数
人工顶起,希望有鱼油路过解惑 0、flag的作用是用来指示程序的限定范围内是否找到了答案,以便代码第12~15行进行判断。
1、这里是程序的限定范围,即7≤x≤7*(100+1)=707。可以通过修改i的值来修改限定范围。
2、这个代码本身就有点冗余,你的方法更加简便。如果想求得后边同样满足条件的数,可使用列表来实现。
页:
[1]