ユークリッドの互除法を使って2つの数の最大公約数を求める実装例です。コピペで動くコードと実行結果、処理の流れを確認できます。 下のコードはブラウザ内でそのまま実行できます。「実行エディタで開く」を押すと、progoのオンラインJavaScript実行環境にコードが読み込まれ、その場で動作を確認できます。
function gcd(a, b) {
while (b !== 0) {
[a, b] = [b, a % b];
}
return a;
}
console.log(gcd(48, 18));
console.log(gcd(1071, 462));
▶ このコードを実行エディタで開く
whileループで余りが0になるまで繰り返します。[a,b]=[b,a%b]が要点です。