Collatz problem

シェアする

コラッツの問題

数学者ポール・エルデシュは「数学はまだこの種の問題に対する用意ができていない」と述べ、解決した人に500ドルを提供すると申し出た。

まあ全くわからんわけだが、プログラム作って動かしてみると確かに最後には「1」になるんだよね。数学って不思議。以下pythonでのコード。

#!/usr/bin/python
import sys

def collatz(x) :
	print x

	if x % 2 == 0 :
		x = x / 2
	else :
		x = x * 3 + 1

	if x != 1 :
		collatz(x)
	else :
		print x

if __name__ == '__main__' :
	collatz(int(sys.argv[1]))
:!python collatz.py 10
10
5
16
8
4
2
1
Sponsored Link

シェアする

フォローする