求救,谢谢
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。题目:请编程求解1000级以内满足条件的阶梯数?x=1
while 7*x<=1000:
if (x%2==1) and (x%3==2) and (x%4==3) and (x%5==4) and (x%6==5):
print(7*x)
x=x+1
else:
x=x+1
运行后结果413,833
??????????????怎么改??/ 本帖最后由 柿子饼同学 于 2021-5-22 20:33 编辑
x = 7
while x < 1000:
if (x%2==1) and (x%3==2) and (x%4==3) and (x%5==4) and (x%6==5):
print(x)
x = x + 7
else:
x = x + 7
乘7多麻烦啊,直接每次加7就好啦{:10_256:}
你 if 条件多了 x%4 ==3 而且 你 if 条件应该计算 x*7 的数,而不是 x ,或者如下代码
参考代码:
x=7
while x<=1000:
if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5):
print(x)
x=x+7 这样改就行了,解释在注释中
x = 7 #因为一次走7个能正好走完所以x必是7的倍数,所以定义为7先
while x < 1000:
if (x % 2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5):
print('阶梯数是:', x)
break
else:
x=7+x #设置7的倍数
看看一楼~
对不起才写完{:10_266:} 柿子饼同学 发表于 2021-5-22 20:24
乘7多麻烦啊,直接每次加7就好啦
谢谢,你的是最佳答案 x = 7
while x < 1000:
if (x%2==1) and (x%3==2) and (x%4==3) and (x%5==4) and (x%6==5):
print(x)
x = x + 7
else:
x = x + 7
这是最佳答案 python---1 发表于 2021-5-22 21:16
x = 7
while x < 1000:
{:10_278:}
不是这个意思,就是想帮帮你 肖-肖 发表于 2021-5-22 20:30
这样改就行了,解释在注释中
谢谢 肖-肖 发表于 2021-5-22 20:30
这样改就行了,解释在注释中
谢谢 柿子饼同学 发表于 2021-5-22 20:35
看看一楼~
对不起才写完
真的非常感谢 我不知道你那个要怎么改。我是另外写的代码。这个可以实现。
x = 0
x += 1
while(x<=1000):
if(x % 7 == 0 and x % 2 == 1 and x % 3 == 2 and x % 5 == 4 and x % 6 == 5 ):
print(x)
x+=1
else:
x+=1
页:
[1]