Collatzの問題
出力欄:
やっていることは,偶数なら2で割り,奇数なら3倍して1を加えることを繰り返しているだけです。
function collatz() { let x = parseInt(document.getElementById("input").value); let s = ""; while (x > 1) { s += x + " → "; if (x % 2 == 0) { x = x / 2; } else { x = 3 * x + 1; } } s += x + " 終了"; document.getElementById("output").textContent = s; }
これが無限ループにならずに1に落ち着くことはまだ証明されていませんが,実験的には確からしいようです。