关于求取最大公约数的疑问
下面是求取两个正整数最大公约数的两种代码:x = int(input('输入第一个正整数: '))
y = int(input('输入第二个正整数: '))
m = max(x, y)
for n in range(m, 1, -1):
if x % n == 0 and y % n == 0:
print("%d是%d和%d的最大公约数" % (n, x, y))
break
def gcd(x, y):
"""求最大公约数"""
num = min(x, y)
for i in range(num, 0, -1):
if x % i == 0 and y % i == 0:
return i
请教一下:为什么第二种方法末尾不需要加break呢?
如果用函数求全部公约数,代码怎么改呢? 因为 return i 会退出整个函数并返回 i,而 break 的作用是退出循环,没必要加 break zltzlt 发表于 2020-2-25 20:09
因为 return i 会退出整个函数并返回 i,而 break 的作用是退出循环,没必要加 break
原来如此,非常感谢!
页:
[1]