最大公約数(ユークリッドの互除法) むずかしい

問題

2つの正の整数 a, b最大公約数(GCD)を出力してください。

古代ギリシャから伝わるユークリッドの互除法を使うと簡単に求められます:

入力 / 出力

1行に ab が空白区切りで与えられます。最大公約数を1行で出力してください。

制約

入出力例

入力出力
12 186
17 51(互いに素)
ヒント:
while (b != 0) {
    int r = a % b;
    a = b;
    b = r;
}
// ここで a が最大公約数
余りを使ってどんどん小さくしていくのがポイントです。

コーディング

※ コンパイル・実行はブラウザ内の簡易C++エンジン(JSCPP)で動いています。学習用のため、本物のコンパイラ(Visual Studio など)と一部の挙動・エラー表示が異なる場合があります。