第一浩男 发表于 2019-4-21 11:51:07

先生 我这里有问题 关于欧几里得求公约数的程序

我想把欧几里得的程序稍加改进 ,结果在第一个while的语句中出现了问题,求指教。

def fun(x,y):
    z=0
    while x<=y:
      z=x
      x=y
      y=z
    i=x%y
    q=y
    while i:
            q=i
            i=i%q
    return q

wp231957 发表于 2019-4-21 11:52:33

错误信息呢,为神马只说有错,让人猜吗

cwhsmile 发表于 2019-4-21 12:37:18

好好想想你的逻辑,while是循环,if是判断,不要用错了

jackz007 发表于 2019-4-21 14:13:58

      辗转相除法已经非常简约了,楼主还能看到改进空间,是不是过于自信?

第一浩男 发表于 2019-4-21 15:53:10

cwhsmile 发表于 2019-4-21 12:37
好好想想你的逻辑,while是循环,if是判断,不要用错了

哈哈哈   明白了谢谢!
页: [1]
查看完整版本: 先生 我这里有问题 关于欧几里得求公约数的程序