ところてん #4969(2007/12/25 15:18 GMT) Rating2/2=1.00
任意の数nを与えたときに ・nが偶数ならば2で割る (n=n/2) ・nが奇数ならば3倍して1を足す (n = 3*n+1) を繰り返すと、いづれは1になる。というものがあります。 数値計算の上ではかなりの数まで成り立つことが知られています。 (すべての数について成り立つかは不明) 参考リンク先参照 ある任意の数nがコラッツ・角谷の問題で1になるまでのステップ数をf(n)とします。 1~2^20までの数でf(n)を求めて、f(n)が最大になるときのnとf(n)を表示してください。 たとえばn=9だと次のような数列をたどって、19ステップで1になります。 9->28->14->7->22->11->34->17->52->26->13->40->20->10->5->16->8->4->2->1 つまりf(9)=19です。 また、最大を求めた際の実行時間と環境を書いてください。
see: コラッツの問題の成り立つ範囲
[ reply ]
ところてん
#4969()
Rating2/2=1.00
see: コラッツの問題の成り立つ範囲
[ reply ]