爱吃肥肉的马 发表于 2021-3-22 22:45:49

求大神来帮忙解答一下咧

def ouli(x,y):
    while y:
      t = x%y
      x = y
      y = t
    return x

print(ouli(4,6))

这里为什么要用 while y 啊?

ba21 发表于 2021-3-22 23:01:34

while 真
while 假
0=假
非0 = 真

jackz007 发表于 2021-3-22 23:46:00

       辗转相除法,y 是除数,显然不可以为 0 值。

atai0622 发表于 2021-3-23 14:20:08

看循环最后一句:y=t,也就是说,每次开始下一次循环之前,y的指向都会改向t,而t= x%y ,也就是说t是x/y的余数,只要余数不为0,就循环一直除下去,直到为余数为0
页: [1]
查看完整版本: 求大神来帮忙解答一下咧