collatz
Collatzの予想 (角谷予想)
https://ja.wikipedia.org/wiki/コラッツの問題
任意の正の整数nに対する操作
nが偶数の場合、nを2で割る
nが奇数の場合、nを3倍して1を足す
この操作を繰り返すと
どんな初期値から始めても、有限回の操作のうちに必ず1に到達する
$ deno run https://scrapbox.io/api/code/daiiz-deno/collatz/mod.ts 139
code:mod.ts
//import {args} from 'deno'
const args = Deno.args
if (args.length !== 1) throw new Error()
let n = parseInt(args0)
while (n > 1) {
console.log(n)
if (n % 2 === 0) {
n = n / 2
} else {
n = 3 * n + 1
}
}
console.log(n)
#Examples