2016年3月20日日曜日

160320(4)

Ruby


π を分数で近似(1)

オンライン整数列大辞典の
A002485(http://oeis.org/A002485/list)、
A002486(http://oeis.org/A002486/list)
に載っている分子と分母のデータをもとに
分子 / 分母を計算すれば、π に近づくことを
確認するために次のコードを実行した。

require 'bigdecimal'

# OEIS A002485のデータ
ary3 =
[0,1,3,22,333,355,103993,104348,208341,312689,
 833719,1146408,4272943,5419351,80143857,165707065,
 245850922,411557987,1068966896,2549491779,
 6167950454,14885392687,21053343141,1783366216531,
 3587785776203,5371151992734,8958937768937]
# OEIS A002486のデータ
ary1 =
[1,0,1,7,106,113,33102,33215,66317,99532,265381,
 364913,1360120,1725033,25510582,52746197,78256779,
 131002976,340262731,811528438,1963319607,
 4738167652,6701487259,567663097408,1142027682075,
 1709690779483,2851718461558,44485467702853]

p ary = (2..26).map{|i| ary3[i].to_r / ary1[i]}
ary.each{|i| p BigDecimal(i, 50).to_s("F")}

出力結果
[(3/1), (22/7), (333/106), (355/113), (103993/33102), (104348/33215), (208341/66317), (312689/99532), (833719/265381), (1146408/364913), (4272943/1360120), (5419351/1725033), (80143857/25510582), (165707065/52746197), (245850922/78256779), (411557987/131002976), (1068966896/340262731), (2549491779/811528438), (6167950454/1963319607), (14885392687/4738167652), (21053343141/6701487259), (1783366216531/567663097408), (3587785776203/1142027682075), (5371151992734/1709690779483), (8958937768937/2851718461558)]
"3.0"
"3.1428571428571428571428571428571428571428571428571"
"3.141509433962264150943396226415094339622641509434"
"3.1415929203539823008849557522123893805309734513274"
"3.1415926530119026040722614947737296840070086399613"
"3.1415926539214210447087159415926539214210447087159"
"3.1415926534674367055204547853491563249242275736237"
"3.141592653618936623397500301410601615560824659406"
"3.1415926535810777712044193065818577818306510262604"
"3.1415926535914039784825424142192796639198932348258"
"3.1415926535893891715436873217069082139811193130018"
"3.1415926535898153832419437773074486111280190002162"
"3.1415926535897926593756269457121754415481387292536"
"3.1415926535897934025461589202345716033328431242161"
"3.1415926535897931602832771842040674840450563394642"
"3.1415926535897932578264481564144008453670548675169"
"3.141592653589793235392564929480919260593367776"
"3.141592653589793239014009759199590735722313652"
"3.1415926535897932383863775063903795669677738821665"
"3.1415926535897932384938750580115606259683273866562"
"3.1415926535897932384623817427748690135948820730273"
"3.141592653589793238462644611029279218233300233291"
"3.1415926535897932384626430685025214387599326967041"
"3.1415926535897932384626435806626896187640495627525"
"3.1415926535897932384626433755579089041211936213995"

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。