2016年8月20日土曜日

160820(3)

Ruby


Denominators of Apéry's rational approximations p_n/q_n to zeta(3)(2)

n ≦ 15000 のとき、
A257045(n) = A059416(n) * A005259(n) が成り立つことを利用して、
コードを書いてみた。

def A257045(n)
  i = 0
  a, b = 0, 6
  c, d = 1, 5
  ary = [1]
  while i < n
    i += 1
    a, b = b, ((((34 * i + 51) * i + 27) * i + 5) * b - i ** 3 * a) / (i + 1r) ** 3
    c, d = d, ((((34 * i + 51) * i + 27) * i + 5) * d - i ** 3 * c) / (i + 1) ** 3
    break if a.numerator.gcd(c) > 1
    ary << a.denominator * c
  end
  ary
end

p A257045(50)

出力結果
[1, 5, 292, 52020, 9504288, 29484180000, 17168660000, 801669704780000, 35930841355360000, 1250077234358967840000, 36426677336311407264000, 11464402743063221545440000, 42860453128110714373355232000, 113781171521690101855852249824000, 86663053898489997946605099159648000, 2659847918388018547000584352900320000, 11950900331610771482824900828120320000, 100319944610982925475355470520988827037440000, 69604262662526415447251227767762073839360000, 74865025496041707189489625115514788159258369280000, 27734882697283685349587539578392633767240897382400, 425753882052399184750151902418076073305874793625600, 67502457076348939624094932746490349473870965030451200, 5224409405169123963582046157884434267265905609351315916800, 833132414023672670280339999584712248502258243234759328204800, 16649703471695284422478792962476178568230332153704274612640000000, 8209665284066086538807245387854449600950003986434866690080000000, 1532962133907466175200427070919559026510568164295017323830880000000, 14436352260612678710136595891056459932872898478532860765020745120000000, 2987682653475214878918337807214296213894880906940523589600031408643680000000, 21572271900230914587597679467043025580274263560203029768356031249346080000000, 70696413325136995596357199888160564878783450023425884390072008890318503814880000000, 91634895717291025554350293801429658095353656279770944280035210137916679296003840000000, 594729917649370553575965591827143580496921531204136907606036910513032915314978560000000, 96628902143838842805466676034478227841893543916444198344891794140684297027778062080000000, 15719865455783498029906228142434186429134710134109142787991878481922041346486466164480000000, 20483497525552449557369842829125885006211751337256848041412345311530222950159653845760000000, 49761186244995780877135509453063429408579203572498582055190525427711475353270075138126959360000000, 100430621358409032480168103094287018702816007155067931152549210197270324788229680791078903040000000, 378516106521993719229558940977493797105144386913469334418941823624439999730192434228091409957120000000, 76771888516681354262758171951047170179571186981057575743949248642338209988147721132133846193422080000000, 34650663564646499509037530525094221607670685034716553167464914510821100407037299029486405943583713109760000000, 115876566148617680584145781222224127041890563354532130544627750785139853072105554133670534306424574959360000000, 60437377381025507493597531821690274111209871915997016826386826886367559457032028867171975202318751621488190720000000, 9919689719883361645917035612710752846485820366762442031585607669603617756501951707488211265624656818711444522240000000, 1629381841184889082519630194047532109508843412177869186776385692084711868139416246637336646541423362835683136113920000000, 563860711060231485504839671640256635647677344697586170416905758988007613755052329325848222085776748792262135269120000000, 10762591627648615711960560966942878852178414737736030659629570674877715352505110242868137665867613262134521434557203127040000000, 63403088686605938147529376628157950750150637551934909744615688327535491364613150676697386069997778421073331914290380099840000000, 303165159412108927574144318049134453496641480820029466194714466741830755647762872205567083538825377568024887901449385803667121920000000, 109922859006427785690790448999352710922464233074708593312927997524286509080662643680811160547042980115127862032011559999304403562752000000]

0 件のコメント:

コメントを投稿