最大公約数と最小公倍数をユークリッド互除法で計算
EBOB/EKOK 計算機は、空白、カンマ、セミコロンで区切った複数の整数を読み取り、最大公約数と最小公倍数を同時に求めます。最大公約数は b が 0 になるまで a と b を a % b で入れ替えるユークリッド互除法を使い、最小公倍数は a ÷ gcd(a,b) × b の形で順番に更新します。2 個以上の有効な整数が必要で、無効な入力や不足した入力ではメッセージを出して結果を作りません。結果カードには GCD と LCM が表示され、複数値でも先頭から順にたたみ込むため、分数の約分、周期の一致、割り切れる単位の確認に使えます。
計算手順も確認できる
2 つ以上の数を入力すると、ツールは最初の組み合わせについて互除法の割り算と余りの流れも表示します。どのように最大公約数へ到達したかを見られるので、学校の課題や手計算の確認にも向いています。たとえば 48 と 18 なら 48 = 18×2 + 12、18 = 12×1 + 6、12 = 6×2 + 0 のように進み、最後の 0 でない余りが最大公約数になります。最小公倍数は同じ GCD を使って求めるため、大きな値では急に数が大きくなることがあります。入力値を整理してから計算すると、周期表、時間割、材料のまとめ買い単位などの比較にも使いやすくなります。
負の整数を入力した場合でも最大公約数の処理では絶対値として考えるのが自然です。実際の用途では 0 を含む値や非常に大きな数で解釈が変わることがあるため、問題文や業務ルールに合わせて入力を整理してください。
コメント