2016年4月10日日曜日

160410

Ruby


Zagier's problems(4)

この問題を一般化しようとすると、次の数列を考えることになる。
(お馴染みの数列が隠れています。)

def f(n)
  return 1 if n <= 1
  (1..n).inject(:*)
end

def u(m, n)
  i = (0..n).inject(0){|s, k| s + f(m * n + k).to_r / (f(m * n - m * k) * f((m + 1) * k + 1))}
  j = i.denominator
  return i.to_i if j == 1
  i
end

def v(m, n)
  i = (0..n).inject(0){|s, k| s + f(m * n + k).to_r / (f(m * n - m * k) * f((m + 1) * k))}
  j = i.denominator
  return i.to_i if j == 1
  i
end

(0..10).each{|i| p (0..20).map{|j| u(i, j)}}
(0..10).each{|i| p (0..20).map{|j| v(i, j)}}

出力結果
[1, (3/2), (11/6), (25/12), (137/60), (49/20), (363/140), (761/280), (7129/2520), (7381/2520), (83711/27720), (86021/27720), (1145993/360360), (1171733/360360), (1195757/360360), (2436559/720720), (42142223/12252240), (14274301/4084080), (275295799/77597520), (55835135/15519504), (18858053/5173168)]
[1, (4/3), (11/5), (29/7), (76/9), (199/11), (521/13), (1364/15), (3571/17), (9349/19), (24476/21), (64079/23), (167761/25), (439204/27), (1149851/29), (3010349/31), (7881196/33), (20633239/35), (54018521/37), (141422324/39), (370248451/41)]
[1, (5/4), (51/14), (277/20), (1497/26), (4045/16), (43721/38), (118141/22), (638471/25), (6900995/56), (37295141/62), (201554637/68), (544632231/37), (1177345345/16), (15906858593/43), (85965651921/46), (929170680307/98), (5021529726405/104), (27137921296481/110), (73330918307761/58), (792606555396977/122)]
[1, (6/5), (73/9), (2395/39), (26149/51), (286723/63), (1046406/25), (34383331/87), (376562651/99), (4124144989/111), (15055945217/41), (18321502422/5), (1805922599993/49), (59335680780827/159), (649847528402837/171), (7117164655305731/183), (5196504361583310/13), (853685877677323571/207), (9349613086538467867/219), (14628208463635117451/33), (373820804592843820033/81)]
[1, (7/6), (243/11), (4905/16), (441221/84), (9706233/104), (214166697/124), (4726434631/144), (104267890033/164), (575171734653/46), (16920175995685/68), (559988733543713/112), (24710827624432425/244), (136303509835451075/66), (3007365527824818089/71), (265415060476370716153/304), (5856051170156218402567/324), (32301611378151143865201/86), (1425389302791240028347285/182), (5241572023931088771464221/32), (1387784767942506927630863145/404)]
[1, (8/7), (872/13), (30800/19), (1481651/25), (320160441/155), (14303597201/185), (632753150096/215), (28063941736416/245), (1244046819273791/275), (55148150118255993/305), (2444859860324379899/335), (21676245687786483441/73), (4804712672638069513601/395), (212997271287348543216227/425), (9442431469459570812240492/455), (418593237257656800568818557/485), (18556719346361354985123320363/515), (164528039005459940946753641082/109), (36468572364202560186290146533498/575), (323338597034469891385772441777774/121)]
[1, (9/8), (6467/30), (97719/11), (124825895/174), (3451116521/72), (473843501720/129), (13892727393211/50), (3722832354082018/171), (330619364192637931/192), (19614632135295958439/142), (5233079174973134534939/468), (77578054424217659547456/85), (10350287680004192659267865/138), (1227459569883088583600797523/198), (81882723163731202870397380888/159), (29132003643569951998302290674129/678), (863715590276647665754619878161943/240), (230468527479333002597974532269296647/762), (20498984710697000958807078261654745741/804), (1823276328091360164035074022035632129149/846)]
[1, (10/9), (12173/17), (1248801/25), (301500013/33), (47068369985/41), (8954530878371/49), (3616616044683269/133), (1961307671216691883/455), (347559287308451008967/511), (62140698954891656421190/567), (11067012620150133414337963/623), (1974249851740493659523015623/679), (351951838629631165144467430043/735), (62758674512597558743883263610439/791), (11189954786512984420393651687875941/847), (1995221638416328054526045855047718383/903), (355758150892408390230576747504182000459/959), (9061863319798195260695461954546882409601/145), (11310428571396007320666762754450306819217990/1071), (2016696277341169111795798300521062697437592955/1127)]
[1, (11/10), (46209/19), (8022659/28), (4465724103/37), (1293807657413/46), (518661438624693/55), (174793411667965457/64), (515038338884349001737/584), (181163947386176653214257/656), (9318830205506037846622983/104), (23212245303284868932655427373/800), (8308538381612887460327404311377/872), (2965401558243638825595575915138699/944), (1059841112828460144356737772557905821/1016), (378546262274221323803046299807145727787/1088), (135245341646806611776768752141187647720673/1160), (6039246784049866362336004131840524645509213/154), (17260103082702448587399430715897692567830284987/1304), (3083031009429017764677322806099449025463759518733/688), (2202789474139810162249748866502901072982904998321405/1448)]
[1, (12/11), (176380/21), (51767397/31), (67135645120/41), (11918731692919/17), (30561824672982970/61), (19857346674609625440/71), (15014665811552483461267/81), (93786705206867081003177917/819), (68254082605708675916908061296/909), (48382209702384034966235090259067/999), (34794212090651687712978763123190218/1089), (24826501160479241396695493078891857030/1179), (17789428163904432084351323109865284484846/1269), (12718316540886128783733071854567602844617154/1359), (9103548603182325055758247469335316966493759994/1449), (6512194352582229649951655678555440574784042852379/1539), (1553301114265427814172941683861566408905467435314942/543), (3333971239159690878362227054802423742149983172341920259/1719), (2385484971604224864516234862714188805787273553827637636176/1809)]
[1, (13/12), (676063/23), (670541695/68), (2039260161407/90), (992233919906433/56), (1825414401676678659/67), (11338991545128842076851/390), (3546391386864465585047379/89), (4826768444379726302646441741/100), (11884266409237776928712446583571/185), (25082456173446867997531106031789854/305), (145268085315175686173723817369275021269/1330), (20683009715062239295106529519220570898657/144), (29737404634631517999428117136643599042420624/155), (212571532141417706479502950979348764619819117181/830), (304892632314065272058289481527025222428461239401952/885), (873005406669864319827933219287817237076045224891891893/1880), (625572823359585750188563058595614431711167452739370292373/995), (51201240603327890861210134539287060162998608401782506525809/60), (2567590646756112061879370386802811251864850983639156389918101579/2210)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
[1, 2, 5, 13, 34, 89, 233, 610, 1597, 4181, 10946, 28657, 75025, 196418, 514229, 1346269, 3524578, 9227465, 24157817, 63245986, 165580141]
[1, 2, 12, 65, 351, 1897, 10252, 55405, 299426, 1618192, 8745217, 47261895, 255418101, 1380359512, 7459895657, 40315615410, 217878227876, 1177482265857, 6363483400447, 34390259761825, 185855747875876]
[1, 2, 37, 377, 4175, 45665, 500162, 5477917, 59993817, 657057431, 7196122817, 78812331010, 863156812373, 9453339310969, 103533474293983, 1133904111036193, 12418578065521858, 136008926741570765, 1489576991490754905, 16313926348325035303, 178670988085202992513]
[1, 2, 128, 2290, 53824, 1167937, 25880583, 570427339, 12588649487, 277741246993, 6128037839540, 135207674105989, 2983184745377610, 65820277249488945, 1452241759102957384, 32041900688498214232, 706964440795078483043, 15598286283899274003201, 344156675837367656167110, 7593386597014191229152508, 167538577595258993997733310]
[1, 2, 464, 14198, 734561, 30855957, 1395140215, 61421681986, 2729406321498, 120901111356937, 5361058288310685, 237643280520953323, 10535221447217329905, 467035993304177895505, 20704244920895579968021, 917842855460155192678944, 40688998527903782312398555, 1803789644919183559423001377, 79964025627923694395028783672, 3544895813507818864062139254714, 157149234661917033251413705198976]
[1, 2, 1718, 89150, 10434412, 830227401, 77630343432, 6759860553987, 606740173493261, 53761413061999808, 4789336703449242532, 425713882815183421276, 37874643962976286926968, 3368420591533491623389519, 299614224953336533451629613, 26648776286174457766013770160, 2370278273561145193634353869356, 210823610461302629600695891380749, 18751655685531991703239268940266240, 1667861629059278199535808699915539765, 148347522781500643005899143914214653377]
[1, 2, 6437, 564929, 152344397, 22590970049, 4430456000083, 754792055807897, 137636729618920733, 24278133788913692993, 4351380310590452147458, 773967842468044760928341, 138161293838139895850663777, 24621598211865968873459954861, 4391215667684963681246182194497, 782887506729826913059620409942115, 139599076985673736955960195931102521, 24890632883115433301406804307017996925, 4438148472806062836925508550061046584961, 791339303985159597550537508277271080201730, 141099497997314398086023236757555263602768005]
[1, 2, 24312, 3605252, 2266064352, 619406846462, 258011577566136, 85107815579174564, 31756789622159404992, 11087348619172016403713, 4009687397637527603424519, 1423250262196358263364201047, 510167513612974289942405633359, 181935135740809450493655732326995, 65054185496078749587431148061090939, 23229499391081128543053176684213746489, 8300552606341144215570892930153625594527, 2964980101986920094435673847142678068433697, 1059283641663040557560163310957652179693694020, 378412747260679661601103163929047004483787884405, 135187626003343540149579904500970152315981238361258]
[1, 2, 92380, 23138117, 34138245880, 17078447486267, 15267018418701040, 9662846317444762010, 7433263982522369965717, 5105097439970022509209613, 3739937728453056152316371834, 2640347319862253912679837188063, 1903571747351888966398184712715682, 1356171822315687857246884609431243680, 972669987877467754384938951474019401434, 695005388731857516273949257253515394251896, 497642314363872601923251465751538992926562476, 355913834983064144987660631679774407156275184971, 254711083224033578551428175987697168858469613407464, 182222022714248832129733269006841098479312905564939411, 130387125796660046677622354004483478941390092905451729904]
[1, 2, 352718, 149184557, 518868404173, 472960484800337, 914713384590816580, 1102661962666287954050, 1761173162345446119771377, 2364995246330735600950902703, 3525430774615949709966806400112, 4931695796903793223492281504266057, 7167831741764557809166366610937987056, 10180479984774868262519564624787550237635, 14660347836638421383079403025733482128210140, 20938056806995851515279661415256198191081944380, 30051060473637300650513824809988136707540948969919, 43005146921403699051530013222191489146431341291098511, 61648906222258918827516864227597622694675139397820821362, 88286405028918369500936371325977268711490468070020627202717, 126507624321692347619036582550231010965541877843569415255149324]

0 件のコメント:

コメントを投稿

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