liuzg123 发表于 2020-5-5 23:16:53

作业题爱因斯坦难题中,程序不起作用,原因在哪里。求指点

爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
x=1
t=1
def num1(x,y,n):
    temp=x%y
    while temp==n:
      x=x
      break
    else:
      x+=1
      y=y
      n=n
      num1(x,y,n)
   
   
while t:
    num1(x,2,1)
    num1(x,3,2)
    num1(x,5,4)
    num1(x,6,5)
    num1(x,7,0)
    t=t-1
   

print(x)
   

ouyunfu 发表于 2020-5-6 02:47:35

你这个x是局部变量,不可能累加x=1
def num1(x,y,n):
    temp=x%y
    if temp==n:
      return True
    else: return False

while True:
    if num1(x,2,1) and num1(x,3,2) and num1(x,5,4) and num1(x,6,5) and num1(x,7,0):
      print(x)
      break
    else:
      x+=1

nizitao 发表于 2020-5-6 09:09:30

本帖最后由 nizitao 于 2020-5-6 09:44 编辑

j = 1
def num1(j,y,n):
    temp = j % y
    if temp == n:
      return True
    else: return False

while 1:
    if num1(j,2,1) and num1(j,3,2) and num1(j,5,4) and num1(j,6,5) and num1(j,7,0):
      print(j)
      break
    else:
      j += 1

liuzg123 发表于 2020-5-6 10:01:10

ouyunfu 发表于 2020-5-6 02:47
你这个x是局部变量,不可能累加

错在哪里,还在理解中。但这个是肯定没问题的。
页: [1]
查看完整版本: 作业题爱因斯坦难题中,程序不起作用,原因在哪里。求指点