最大公約数や最小公倍数を求めたい | 数値操作 | JavaScript 目的別リファレンス

スポンサーリンク

このプログラムでは、ユークリッドの互除法を用いて最大公約数を計算し、それを利用して最小公倍数を計算します。

スポンサーリンク

最大公約数と最小公倍数を求めるプログラム

以下のコードでは、数値1218の最大公約数と最小公倍数を計算し、その結果を表示しています。

HTMLとJavaScriptコード

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>最大公約数と最小公倍数を求める方法</title>
    <script>
        window.onload = function() {
            // 最大公約数を求める関数(ユークリッドの互除法)
            function gcd(a, b) {
                return b === 0 ? a : gcd(b, a % b);
            }

            // 最小公倍数を求める関数
            function lcm(a, b) {
                return (a * b) / gcd(a, b); // 最大公約数を利用して最小公倍数を計算
            }

            // テスト用の数値
            const num1 = 12;
            const num2 = 18;

            // 最大公約数と最小公倍数を計算
            const greatestCommonDivisor = gcd(num1, num2);
            const leastCommonMultiple = lcm(num1, num2);

            // 結果をHTMLに表示
            document.getElementById('gcdValue').textContent = `${num1} と ${num2} の最大公約数: ${greatestCommonDivisor}`;
            document.getElementById('lcmValue').textContent = `${num1} と ${num2} の最小公倍数: ${leastCommonMultiple}`;
        }
    </script>
</head>
<body>

    <h1>最大公約数と最小公倍数を求める方法</h1>

    <div id="gcdValue"></div>
    <div id="lcmValue"></div>

</body>
</html>

プログラムの解説

このプログラムでは、gcd()関数を用いてユークリッドの互除法により最大公約数を計算し、その結果を使用してlcm()関数で最小公倍数を求めています。

以下はgcd()lcm()メソッドの注意点です。

  • gcd()は、ユークリッドの互除法を使った再帰的なアルゴリズムで、2つの数の最大公約数を効率よく計算します。2つの数のうち1つがゼロの場合、もう一方の数が最大公約数です。
  • lcm()は、gcd()の結果を使用して2つの数の最小公倍数を計算します。これは、(a * b) / gcd(a, b)で求められます。
  • 整数以外の数値や負の数に対しては、想定外の結果が出ることがあるため注意が必要です。

Mathオブジェクト メソッドの機能一覧

Mathオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのMathオブジェクトは、数学的な定数や関数を提供するオブジェクトで、静的メソッドのみを持ちます。以下に、Mathオブジェクトのメソッドをアルファベット順にまとめています。Mathオブジェクトの静的メソッド メソッド名 説明と注意点 Math.abs(x) 数値の絶対値を返します。注意点: 引数が数...