Menu
CoddyTech

Greatest Common Divisor

你会得到两个正整数 a 和 b。返回它们的最大公约数:能同时整除这两个数且没有余数的最大整数。

例如,能同时整除 8 和 12 的数有 1、2 和 4,所以答案是 4。

函数

gcd(a: integer, b: integer) → integer
ainteger
第一个正整数
binteger
第二个正整数
返回值integer
同时整除 a 和 b 的最大整数

约束条件

  • 1 ≤ a ≤ 109
  • 1 ≤ b ≤ 109

示例

输入
a = 12b = 18
输出
6
解释
12 的约数是 1、2、3、4、6 和 12;18 的约数是 1、2、3、6、9 和 18。两个列表中最大的约数是 6。
challenge icon

进阶

你能扩展欧几里得算法,使它还返回整数 x 和 y,满足 a × x + b × y = gcd(a, b) 吗?

重置代码
def gcd(a, b):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

a = 12
b = 18

预期输出

6