Peteryo01223 发表于 2020-1-14 11:32:33

函数最大公约数的一个问题

小甲鱼《零基础入门学习Python》第17课函数,作业与答案:

题目:编写一个函数,利用欧几里得算法(脑补链接)求最大公约数,例如 gcd(x, y) 返回值为参数 x 和参数 y 的最大公约数。

答案:
1.        def gcd(x, y):
2.          while y:
3.                t = x % y
4.                x = y
5.                y = t
6.       
7.          return x
8.          
9.        print(gcd(4, 6))

问:我试了一下小甲鱼的答案,Python结果是6。小甲鱼搞错了吧?
小时候学的,4和6的最大公约数,应该是2,才对。

zltzlt 发表于 2020-1-14 11:36:57

我这里运行并无问题。

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


print(gcd(4, 6))

Peteryo01223 发表于 2020-1-14 11:40:53

zltzlt 发表于 2020-1-14 11:36
我这里运行并无问题。

那估计是我代码抄错了。我经常用 Word 写,再past 到Python里去。你们这些可直接“复制代码”的,都是在哪里写的?

zltzlt 发表于 2020-1-14 11:43:10

Peteryo01223 发表于 2020-1-14 11:40
那估计是我代码抄错了。我经常用 Word 写,再past 到Python里去。你们这些可直接“复制代码”的,都是 ...

Peteryo01223 发表于 2020-1-14 11:51:40

zltzlt 发表于 2020-1-14 11:43


这是什么软件呢?

zltzlt 发表于 2020-1-14 11:52:32

Peteryo01223 发表于 2020-1-14 11:51
这是什么软件呢?

http://fishc.com.cn/forum.php?mod=viewthread&tid=52272

zltzlt 发表于 2020-1-14 15:48:33

Peteryo01223 发表于 2020-1-14 11:40
那估计是我代码抄错了。我经常用 Word 写,再past 到Python里去。你们这些可直接“复制代码”的,都是 ...

不要用 word 写,直接用 Python 自带的 IDLE 写代码。

页: [1]
查看完整版本: 函数最大公约数的一个问题