2017年11月9日木曜日

171109

Ruby


Product_{k=1..n} (1 - k^k*x^k) 等(2)

簡単な計算方法を見つけた。

def s(k, n)
  s = 0
  (1..n).each{|i| s += i ** (1 + k * n) if n % i == 0}
  s
end

def A(k, l, n)
  a_ary = [1]
  a = [0] + (1..n).map{|i| s(k, i)}
  (1..n).each{|i| a_ary << l * (1..i).inject(0){|s, j| s += a[j] * a_ary[-j]} / i}
  a_ary
end

p A(1, -1, 50)
p A(1,  1, 50)

出力結果
[1, -1, -4, -23, -229, -2761, -42615, -758499, -15702086, -365588036, -9516954786, -273061566624, -8575969258607, -292418459301779, -10762887030763337, -425243370397722674, -17953905924215881215, -806666656048846472309, -38431184040433830671913, -1935181289882115032490348, -102696392415846742681733803, -5728632608276744273452117182, -335107577316074301942345694886, -20512630873623057901876906465743, -1311322803795912839879249103895553, -87390960343889620272724433296491880, -6061384949468492645254259961399089464, -436878303197147196764997753948315233462, -32675044025947179003139330924063144267098, -2532599985989370726380519904538079256177793, -203178927579931810874025726965036433479741952, -16852125986543066536028316042434581330055228156, -1443540661889085555907194401730450877441654520045, -127574820869143586595809496206091343218785221447959, -11621234125615831378564183221418512234993617429041058, -1090196183005328639647915061369295772435373168383752681, -105234462011765494539519684733251330682780002215401072539, -10444032619061859497835254098020641143844512837807387209711, -1064902631219112666269332993851683972378340828286166920131461, -111474276281159827251053377800414613365575724197083049385370429, -11972088595272475908579728804082619667947506111569023902379561582, -1318310476289005221139456767233891094537237273824409848278526461933, -148748832043264334406644872125794105595871324181527240036587485159754, -17188011557131984039753154446985789282791436973154624682540639685440653, -2032795780843366162329190289675591210400612525094020643226076694024657889, -245939698538743537478667846250646039337163770333022466134040568157902292494, -30423641976898894071689041552479607626257428359671512045193457871897137467696, -3846200040360747504396179827366602271408814708121940123440320482354684713335810, -496695201984715682948564922534938106524773540501514053768423580824529347786758831, -65492741914370653035591205743688113605561186820898464463643223003610278456267562995, -8813674657487816832612715981635867854914273624507153623639538458830834786224586856770]
[1, 1, 5, 32, 304, 3537, 52010, 895397, 18016416, 410889848, 10523505770, 298220329546, 9274349837081, 313761671751672, 11474635626789410, 450964042480390679, 18954785687060988578, 848386888530723146912, 40285405287225043910550, 2022698192735125064374800, 107067613600574960842869576, 5958957516540411012538481312, 347874804978251035491293556717, 21255282815702806741512542156320, 1356552811381527011063310886545470, 90269224251818008284503526617607078, 6252407532636283837248750189467023717, 450077403312833906134664153832793562364, 33623078468794716158752737057969922475976, 2603279113832594183853952144206489719837940, 208641020463859049059313644666998258355430174, 17289127397779339597455206628731138571029463388, 1479694518137323492518182330267555690966057710386, 130664405112427023669744020431578357644166585768834, 11893676637179710201515160431837573422707677490346506, 1114962549339627610139884413141761124617651310248910807, 107553299717906401134057923370737862686988012597837335428, 10667456623847661239614784713395895708825315080311903974842, 1087038281322044541723912129364763989898375730124545587816420, 113727624541296280610995388843934779805112107590089608738821866, 12207607672244566843332717756498509768573329189287764690816378001, 1343567949879928688576883932845039142064874998015038262382867301310, 151526235731705276942576654565683947618697905104015802013110682919256, 17500984254427353429088809491108129599200863753155515140181675937796866, 2068914981048485504735305132601459341359908002379365151497580784456356578, 250206395748750271585510108940161076975800606600455914501836198285139561506, 30939269917163886094342998721746598367612901564113128379988190173340349015884, 3909916438944027445264015931163420219796204883134594411865752491610605996942362, 504742036355325700420716147919073362233829975908395870482808863420263975649192158, 66530881888898978050425464434805233005142718980300319762710280722182219337819485262, 8950431855499888765825807120133883814986861716725771387614680145772266006338061859966]

0 件のコメント:

コメントを投稿