Hatena::ブログ(Diary)

ほんまの走り書き技術メモ このページをアンテナに追加 RSSフィード Twitter

2011-06-13

Rubyでn桁の円周率を求める

| 18:42 | Rubyでn桁の円周率を求めるを含むブックマーク Rubyでn桁の円周率を求めるのブックマークコメント

検証用に使っていた物です。

len = ARGV[0].to_i
B = 10 ** len
B2 = B << 1
pi = (len * 8 + 1).step(3, -2).inject(B) {|a, i| (i >> 1) * (a + B2) / i} - B
puts "3.#{pi}"
# time ruby pi.rb 100
3.141592653589793238462643383279502884197169399375105820974944592307816406286208
9986280348253421170679

real    0m0.045s
user    0m0.027s
sys     0m0.007s

10万桁位なら2分前後で行けるはずです。

※ウチのPCはショボイのでもっと早いかも

トラックバック - http://d.hatena.ne.jp/htz/20110613/1307958164