Menu
CoddyTech

Greatest Common Divisor

2 つの正の整数 a と b が与えられます。それらの最大公約数、つまり両方を余りなく割り切れる最大の整数を返してください。

たとえば、8 と 12 の両方を割り切れる数は 1、2、4 なので、答えは 4 です。

関数

gcd(a: integer, b: integer) → integer
ainteger
最初の正の整数
binteger
2番目の正の整数
戻り値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です。

lock icon提出時に隠しテスト+14件

challenge icon

発展問題

ユークリッドの互除法を拡張して、a × x + b × y = gcd(a, b)を満たす整数xとyも返せるようにできますか?

コードをリセット
def gcd(a, b):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

a = 12
b = 18

期待値

6