hijouguchiの日記

2008-06-23

eとかπとか計算させてみた

| 23:00 | はてなブックマーク - eとかπとか計算させてみた - hijouguchiの日記

 まずeを計算。eは\lim_{n \to \infty} (1 + \frac{1}{n})^nで計算されます。これをrubyで書いただけ。

print "nの値を入力して下さい"
n = gets.chop.to_i
p (1.0 + 1.0/n) ** n 

nは無限大にすることが出来ないので、好きなだけ大きな数字にすればeに近似されます。

n = 10000000で2.718281くらいまでは近似できます。

 次にπを計算。wikipediaを参考に。

円周率 - Wikipedia

#注意:意図的に無限ループさせてるので^Cでキャンセルして下さい。

pi_4 = 0
n = 0
while  true
	pi_4 += ((-1.0) ** n) / (2.0 * n + 1.0)
	p pi = 4 * pi_4
	n += 1
end

10秒くらい走らせると3.1415くらいまでは安定します。

 πの計算の方があまりよい精度が出ないですね。

ゲスト



トラックバック - http://rubyist.g.hatena.ne.jp/hijouguchi/20080623