孤妓与酒 发表于 2021-3-1 14:31:26

第17讲:求最大公约数

小甲鱼的代码是这样的
def gcd(x, y):
    while y:   #1
      t = x % y
      x = y      #2
      y = t      #3

    return x
   
print(gcd(4, 6))


这是我看了答案过会写的
def gcd(x,y):
    while 1:
      t = x % y
      y = x
      t = y
      return x

print(gcd(2,4))
对比之后还是有3个地方不一样,想知道我这个可不可以,或者有什么问题吗

逃兵 发表于 2021-3-1 14:46:34

你的答案不对
例如:

print(gcd(77,84))

正确答案为7,你的答案为77

while1将会是死循环。return写在while 中只会运行一次,直接得出结果

jackz007 发表于 2021-3-1 14:47:17

      不可以,因为,下面两个语句是相克的。
while 1:
. . . . . .
      return x
      while 1 是死循环,而 return x 是结束整个函数调用,最后,while 循环最多只能运转 1 次。

孤妓与酒 发表于 2021-3-1 18:07:12

逃兵 发表于 2021-3-1 14:46
你的答案不对
例如:



大佬,又是你呀,你好像帮我好多次了,就不知道是不是认错了

逃兵 发表于 2021-3-1 18:24:53

孤妓与酒 发表于 2021-3-1 18:07
大佬,又是你呀,你好像帮我好多次了,就不知道是不是认错了

https://fishc.com.cn/thread-191109-1-1.html

https://fishc.com.cn/thread-190374-1-1.html

还行,次数不算太多

孤妓与酒 发表于 2021-3-3 18:30:25

逃兵 发表于 2021-3-1 18:24
https://fishc.com.cn/thread-191109-1-1.html

https://fishc.com.cn/thread-190374-1-1.html


我总共也没发多少{:10_291:}
页: [1]
查看完整版本: 第17讲:求最大公约数