プログラマ脳を鍛える会vol.6

2016//08/26に勉強会をした記録

数学の未解決問題のひとつに「コラッツの予想」があります。 自然数nについて、 ・nが偶数の場合、nを2で割る ・nが奇数の場合、nに3をかけて1を足す という操作を繰り返すとき、初期値がどんな数であっても必ず1に到達する(1→4→2→1を繰り返す)というものです。

この問題を少し変えて、初期値が偶数の場合、初回のみnに3をかけて1を足すことから始めることとし、「最初の数」に戻るものを考えます。

10,000以下の偶数のうち、上記の2や4のような「最初の数に戻る数」がいくつあるか、その個数を求めてください。

引用: 第20回は「今週のアルゴリズム:(改造版)コラッツの予想 URL: https://codeiq.jp/magazine/2014/03/7672/

素直に解く

ポイントはstep関数と,必ず1に戻ってくるということから終了判定をすること