函数最大公约数的一个问题
小甲鱼《零基础入门学习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,才对。 我这里运行并无问题。
def gcd(x, y):
while y:
t = x % y
x = y
y = t
return x
print(gcd(4, 6))
zltzlt 发表于 2020-1-14 11:36
我这里运行并无问题。
那估计是我代码抄错了。我经常用 Word 写,再past 到Python里去。你们这些可直接“复制代码”的,都是在哪里写的? Peteryo01223 发表于 2020-1-14 11:40
那估计是我代码抄错了。我经常用 Word 写,再past 到Python里去。你们这些可直接“复制代码”的,都是 ...
zltzlt 发表于 2020-1-14 11:43
这是什么软件呢? Peteryo01223 发表于 2020-1-14 11:51
这是什么软件呢?
http://fishc.com.cn/forum.php?mod=viewthread&tid=52272 Peteryo01223 发表于 2020-1-14 11:40
那估计是我代码抄错了。我经常用 Word 写,再past 到Python里去。你们这些可直接“复制代码”的,都是 ...
不要用 word 写,直接用 Python 自带的 IDLE 写代码。
页:
[1]