JavaScriptでコラッツ予想

コラッツの問題 証明と別解 への ガイド版: 21世紀の算数 整数譜


 コラッツ予想をJavaScriptで作ってみた。
JavaScriptとか久しぶりに触るから結構忘れてて困った困った。

コラッツ予想

 ある値に対して次の操作をくり返しおこなうと1になる、という予想。


n が偶数ならば n / 2
n が奇数ならば 3 × n + 1


 言ってることは全然難しくないので小学生でも理解できるけど、未だに証明されていない難問。
たしか、証明に1億円の賞金がかけられていたはず。

コラッツ予想

 数字を入力するとコラッツ操作を実行する(1以上の値でお願い)




結果

コード

<script>
        function CollatzProblem() {
            let result = "";
            let number = document.getElementById("number").value;
            result += number;

            while (number != 1) {
                result += " -> ";
                if (number % 2 == 0) number = number / 2;
                else number = number * 3 + 1;
                result += number;
            }

            document.getElementById("id_result").innerHTML = result;
        }
</script>

<input type="number" min="1" step="1" id="number">
<button onclick="CollatzProblem()">計算</button>


<p id="id_result">結果</p>