Ruby
http://integers.hatenablog.com/entry/2016/03/07/035543
を見て、高野喜久雄の公式を確認したくなった。
出力結果
(30359526048167280559520407768157953896794006114356905827076473489496336/31193467533294004448510308353153627192530554289520296713480255630772527)
(163063756196879/5565902965084799)
(178152634449794601186648817308264/10123970409723506716802717698789673)
(221133709940734332763150066927029167927624324678877208263900879066152608081636777984094972736/119255430545806006606282910952047504082979247479672264764763875351796384053904855358653436772673)
true
(727502164381792800/2911427801860312799)
(1258437261608003827417436088483220732017476031172224/2001248528287782648828504442719364153615241358955393)
(4078367999/194918686801)
(5591411000625584861155181978021667341047545829855840824/51461016894072118290173182441350333304888274623920577734407)
true
を見て、高野喜久雄の公式を確認したくなった。
def f(x, y)
(x + y).to_r / (1 - x * y)
end
def g(x, n)
return x if n == 1
f(g(x, n - 1), x)
end
# F. C. M. Stormer
p a = g(1r / 57, 44)
p b = g(1r / 239, 7)
p c = g(1r / 682, 12)
p d = g(1r / 12943, 24)
p f(f(f(a, b), -c), d) == 1
# Kikuo Takano
p a = g(1r / 49, 12)
p b = g(1r / 57, 32)
p c = g(1r / 239, 5)
p d = g(1r / 110443, 12)
p f(f(f(a, b), -c), d) == 1
出力結果
(30359526048167280559520407768157953896794006114356905827076473489496336/31193467533294004448510308353153627192530554289520296713480255630772527)
(163063756196879/5565902965084799)
(178152634449794601186648817308264/10123970409723506716802717698789673)
(221133709940734332763150066927029167927624324678877208263900879066152608081636777984094972736/119255430545806006606282910952047504082979247479672264764763875351796384053904855358653436772673)
true
(727502164381792800/2911427801860312799)
(1258437261608003827417436088483220732017476031172224/2001248528287782648828504442719364153615241358955393)
(4078367999/194918686801)
(5591411000625584861155181978021667341047545829855840824/51461016894072118290173182441350333304888274623920577734407)
true
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。