永远的渣滓 发表于 2020-4-5 10:51:51

def gcd(x, y):
    while y:
      t = x % y
      x = y
      y = t

    return x
   
print(gcd(4, 6))
求解释

qiuyouzhi 发表于 2020-4-5 10:58:43

def gcd(x, y):
    while y: # 只要y != 0
      t = x % y # x和y取余
      x = y
      y = t # 这里一定要让一个数的值小下去,不然就会无限循环
      # 可以百度搜一下 辗转相除法 ,或许能帮助你理解

    return x
   
print(gcd(4, 6))

永远的渣滓 发表于 2020-4-5 11:54:24

qiuyouzhi 发表于 2020-4-5 10:58


是不是就是都除到0然后取0前的那一个值?
如:53 17 2 1 0#(53%17=2)(17%2=1)(2%1=0)取1
如:8 6 2 0#(8%6=2)(6%2=0)取2

qiuyouzhi 发表于 2020-4-5 11:56:52

永远的渣滓 发表于 2020-4-5 11:54
是不是就是都除到0然后取0前的那一个值?
如:53 17 2 1 0#(53%17=2)(17%2=1)(2%1=0)取1
如:8 6 ...

取最小值。
页: [1]
查看完整版本: