RUBYで数値演算。

ちょこっと見かけた数式を試したくなったときとかに最適ですね、これ。


今回はコラッツの問題を試してみた。

コラッツの問題 - Wikipedia


RUBYで書けばあっという間

def collatz(n)
	puts n
	break if (n == 1)
	collatz(n / 2) if (n % 2 == 0)
	collatz(n * 3 + 1) if (n % 2 != 0)
end


10の500乗とかいう無茶な数字入れて遊べます♪
ちなみに10の500乗だと、8392ステップで1になたー。


計算途中の数値解析感がたまらなく心地よいですw