2 つの整数 A , B の最大公約数(以後 gcd(A , B))を高速に求めるアルゴリズムとして、ユークリッドの互除法があります。 gcd(A, B) をユークリッドの互除法で求める手順は次の通りです。
1. A , B のうち、いずれかが 0 の場合 手順 3 に進む 2. A , B のうち小さい方で大きい方をわり、大きい方をその余りで置き換え、手順 1 に戻る 3. このとき、0 でない方の数が求めたい最大公約数になっている。
例として A = 15 , B = 40 にユークリッドの互除法を用いて最大公約数を求めると、次の通りになります。 ([]内の数字は手順の番号を表す)
[1] A = 15 , B = 40 [2] A < B なので B / A = 2 余り 10 より B = 10 [1] A = 15 , B = 10 [2] B < A なので A / B = 1 余り 5 より A = 5 [1] A = 5 , B = 10 [2] A < B なので B / A = 2 余り 0 より B = 0 [1] A = 5 , B = 0 [3] よって、15 と 40 の最大公約数は 5 となる。
2 つの整数 A , B が与えられるので、ユークリッドの互除法を用いて A , B の最大公約数を求めましょう。
入力される値
A B
・1 行で、整数 A , B が半角スペース区切りで与えられます。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
標準入力からの値取得方法はこちらをご確認ください
期待する出力
gcd(A,B)
・A , B の最大公約数の値を 1 行で出力してください。 ・また、出力の末尾には改行を入れてください。