2016年11月20日日曜日

161120

Ruby


y^2 + y = x^3 - x 上の有理点

P = (0, 0),
2P = (1, 0),
3P = (-1, -1),
4P = (2, -3),

を出力してみた。

# (a, b)が曲線上に存在するか?
def f(a, b)
  b * b + b == a * a * a - a
end

# A028940 / A028941, -A028942 / A028943
def A(n)
  p [1, [0, 0], f(0, 0)]
  a, b = 1r, 0r
  (2..n).each{|i|
    p [i, [a, b], f(a, b)]
    c = (b * b - a * a * a) / (a * a)
    d = -1 - b * c / a
    a, b = c, d
  }
end

n = 50
A(n)

出力結果
[1, [0, 0], true]
[2, [(1/1), (0/1)], true]
[3, [(-1/1), (-1/1)], true]
[4, [(2/1), (-3/1)], true]
[5, [(1/4), (-5/8)], true]
[6, [(6/1), (14/1)], true]
[7, [(-5/9), (8/27)], true]
[8, [(21/25), (-69/125)], true]
[9, [(-20/49), (-435/343)], true]
[10, [(161/16), (-2065/64)], true]
[11, [(116/529), (-3612/12167)], true]
[12, [(1357/841), (28888/24389)], true]
[13, [(-3741/3481), (-43355/205379)], true]
[14, [(18526/16641), (-2616119/2146689)], true]
[15, [(8385/98596), (-28076979/30959144)], true]
[16, [(480106/4225), (332513754/274625)], true]
[17, [(-239785/2337841), (331948240/3574558889)], true]
[18, [(12551561/13608721), (-8280062505/50202571769)], true]
[19, [(-59997896/67387681), (-641260644409/553185473329)], true]
[20, [(683916417/264517696), (-18784454671297/4302115807744)], true]
[21, [(1849037896/6941055969), (-318128427505160/578280195945297)], true]
[22, [(51678803961/12925188721), (10663732503571536/1469451780501769)], true]
[23, [(-270896443865/384768368209), (66316334575107447/238670664494938073)], true]
[24, [(4881674119706/5677664356225), (-8938035295591025771/13528653463047586625)], true]
[25, [(-16683000076735/61935294530404), (-588310630753491921045/487424450554237378792)], true]
[26, [(997454379905326/49020596163841), (-31636113722016288336230/343216282443844010111)], true]
[27, [(2786836257692691/16063784753682169), (-435912379274109872312968/2035972062206737347698803)], true]
[28, [(213822353304561757/158432514799144041), (41974401721854929811774227/63061816101171948456692661)], true]
[29, [(-3148929681285740316/2846153597907293521), (-2181616293371330311419201915/4801616835579099275862827431)], true]
[30, [(79799551268268089761/62586636021357187216), (-754388827236735824355996347601/495133617181351428873673516736)], true]
[31, [(342115756927607927420/2237394491744632911601), (-86493818646310922606526774743956/105831230775844387744754441796151)], true]
[32, [(53139223644814624290821/1870098771536627436025), (12201668323950325956888219182513256/80871745605559864852893980186125)], true]
[33, [(-280251129922563291422645/1262082793174195430038441), (253863219659861232674408424330433645/1417854835344178787714550500916300011)], true]
[34, [(36631192030206080565822006/41998153797159031581158401), (-80758747641526362425597637684850206815/272173162387524688124210116071636697601)], true]
[35, [(-804287518035141565236193151/1063198259901027900600665796), (-43588991327163432486545613110592404899171/34667409118422632032070193604742966179656)], true]
[36, [(54202648602164057575419038802/15402543997324146892198790401), (-13092420486726785928582676734341299347115698/1911563313687376346904659714182809942964351)], true]
[37, [(743043134297049053529252783151/2763291877248901877407461697249), (-2189483446304543061371288657290348890980594400/4593462133720075853302175244236393876880522193)], true]
[38, [(102993803538933982914320107718801/35845578465602823663322959338401), (878446167724531925433595104275654803292506071599/214611697633277024760852115267283591567237967601)], true]
[39, [(-3239336802390544740129153150480400/3838799532815709794201672388387649), (48072547288390781193922630252285326406309975292943/237844520166539043234240287233775865292113468549857)], true]
[40, [(263817293110494867593838666854208001/292736325329248127651484680640160000), (-124196438988982893632369913491756562921318307752469249/158385319626308443937475969221994173751192384064000000)], true]
[41, [(-2613390252458014344369424012613679600/18130554499963269207328264658003398849), (-86882155212892274588612983069418029552410839095153302800/77199880835273348763199754318716659251711787046519688993)], true]
[42, [(1425604881483182848970780090473397497201/23330922815816934561924264996456917601), (-53875991960104970765283107373605344809310387645985049959200/112693242618274179956651080434126947419217320185504463599)], true]
[43, [(12518737094671239826683031943583152550351/112095263170952502579054676954803745129249), (-4736963419597991005921784696415662858882109120520022240208657/37530201088428893504297348999259274784075840220078303129323057)], true]
[44, [(7829698846539503638114853800715638513953202/6717213017363033576059307226857689370745601), (5524905488265614668992892434873748844920757678725926478259255853/17409395093926185106885631047952575457813864890094033864975902849)], true]
[45, [(-596929565407758846078157850477988229836340351/546893617922188211588396787764926990139280196), (-8988854703297735806987625854273224398026564032032776384182186736165/12789521106940379462098473081947860361167209079884962192477681132744)], true]
[46, [(79894464813428119450058959276433565868597634006/53046539559910784267590065399289562705929497601), (-24066410114833357599838577779951121277275124199036386947622283276346814/12217591143721452560613778332455777842477669131611512703021731989593599)], true]
[47, [(2385858586329829631608077553938139264431352010155/11671603578179426152483616311075870788715631720041), (-29214087094205221480230038284783574921809176572474206696449157526076526744/39874549799038515744164859874198500898417335456037004381292650442289963339)], true]
[48, [(1356533706384096591887827693333962338847777347485221/107308058945765220809811860660656614527354467284025), (49253432232175037853939274934357858897623864482230655849646172771417862103019/1111599924813736177345961430101881701789905659558155903791530971080388326125)], true]
[49, [(-56186054018434753527022752382280291882048809582857380/157663313719502807884874799318714943425831988660626801), (15592711215337616623740514518966145859285850662560621449737978910137952277603645/62603119606309056626706148210887786481951193818503864231982726681629376131719799)], true]
[50, [(24854671723753819921380822649312751965653209957505606561/29418784545883822188243570198416287437001335203340988816), (-65343698144990446428357439135977881124804221113554492507243553294512904673973173265/159564798621271700005828929931002008441744804573070282618997694000714045237979692864)], true]

2016年11月15日火曜日

161115

Ruby


Eisenstein series(1)

(-4n) / B_{2n} を求めてみた。

def bernoulli(n)
  ary = []
  a = []
  (0..n).each{|i|
    a << 1r / (i + 1)
    i.downto(1){|j| a[j - 1] = j * (a[j - 1] - a[j])}
    ary << a[0] # Bn = a[0]
  }
  ary
end

def A(n)
  ary = bernoulli(2 * n)
  (1..n).map{|i| -4 * i / ary[2 * i]}
end

n = 100
p A(n)

出力結果
[(-24/1), (240/1), (-504/1), (480/1), (-264/1), (65520/691), (-24/1), (16320/3617), (-28728/43867), (13200/174611), (-552/77683), (131040/236364091), (-24/657931), (6960/3392780147), (-171864/1723168255201), (32640/7709321041217), (-24/151628697551), (138181680/26315271553053477373), (-24/154210205991661), (1082400/261082718496449122051), (-151704/1520097643918070802691), (5520/2530297234481911294093), (-1128/25932657025822267968607), (4455360/5609403368997817686249127547), (-264/19802288209643185928499101), (12720/61628132164268458257532691681), (-86184/29149963634884862421418123812691), (13920/354198989901889536240773677094747), (-1416/2913228046513104891794716413587449), (6814407600/1215233140483755572040304994079820246041491), (-24/396793078518930920708162576045270521), (65280/106783830147866529886385444979142647942017), (-776664/133872729284212332186510857141084758385627191), (240/4633713579924631067171126424027918014373353), (-18744/43010895638096200108659330496510205957469661721), (20174525280/5827954961669944110438277244641067365282488301844260429), (-24/923038305114085622008920911661422572613197507651), (240/1297636253996598563562484002136063152861329885729779), (-39816/31911258890415448330398387349964774884015336567107729499), (36801600/4603784299479457646935574969019046849794257872751288919656867), (-1992/40902784126466971629833036824055363419700878721225693045893), (571924080/2024576195935290360231131160111731009989917391198090877281083932477), (-24/15365456265527410548229019707587476657623969457055556552604581), (982560/119220589879456137090501038547210167576886388688366240390629080961277), (-9796248/235811455804216559976824670249843016755050989933929423246309043145584507), (11280/56329823835110327303888166458198989115623542770410223609709405514345489), (-24/25974761842122222757602163391770238382095923727716949392259895857120201), (864339840/211600449597266513097597728109824233673043954389060234150638733420050668349987259), (-24/1385882870875622359674512602987828685864126443438867092021917576530468307311), (6666000/94598037819122125295227433069493721872702841533066936133385696204311395415197247711), (-51912/188471730050641592837824751889190692675989246891336320628176617710991854755098715223), (25440/24579510104910000868238719445859559590091508159867133717469497704834582181965363171081), (-2568/686300059860705932229279625501762776777949030954371510168505969401544903271437780124017), (45185409360/3469342247847828789552088659323852541399766785760491146870005891371501266319724897592306597338057), (-66792/1529198588096948578449626849344869500105750482682461581336718774151959521253917155995586043503), (53480640/378697086022157101907513887812166002063307357027501413778826918240138108073553645052397314793228587), (-504/1144096437861534912279513741402789025037955614688991124252953163943873972854452297416009927292771), (14160/10674272985235964721121153725304876443758763036701029111913932611069274397399033388668558606750163871), (-24/6219713897791747653134697484501440791264514594588122106797617638583296356708584099819860616178255861), (558781423200/51507486535079109061843996857849983274095170353262675213092869167199297474922985358811329367077682677803282070131), (-24/813666657037091506762830122557225531782340824771477701152611668740175134657384120148083830788492425714171), (240/3092799204330552540347577519598143374857381613332172155469468152559954624336643368181675600331241054486922871), (-1098185256/5556330281949274850616324408918951380525567307126747246796782304333594286400508981287241419934529638692081513802696639), (130560/267754707742548082886954405585282394779291459592551740629978686063357792734863530145362663093519862048495908453718017), (-34584/29664848848248167933004608034947637466270938617918899365903584931208440344669293516848837102982982811374380540654806431), (100966320/37359267804272125291729135138506539829387097988225227493951795269331824614064078528422399345623971517646073249757760937540621), (-24/3949107042846533218412473690281776345541112322286099827043560520009966650622246876537124125242573646994995442378350510301), (65760/4958248608433376772428681062374481979372741905738084456893482759542967190742836046268131497401044102217148099163597931590391161), (-3292632/117168110825690475480167464509744045254307760637577499298354386654803413111284619279288407638840250338943888622865528477112621223323), (27178800/469927283776556971990099935550269143840076782418732997329638155023214971853374013813408514017896391657740209689521592056267813800278007), (-24/207490891280120979800987048485256538588791789070290741918237732357852761430727367698168537876221806622668781613442289529691174438721), (685933859520/3050244698373607565035155836901726357405007104256566761884191852434851033744761276392695669329626855965183503295793517411526056244431024612640493), (-24/56446164743563217418165935834354301728295145326144399369504351781298496749089373765148082309889112853290960869608260588863524269643696231), (35760/45722625557135648104474624192220707827234671679656794616661639889647510031855363061751932259631384756036394180198275183619944603914285348603977), (-25951464/18534623175566509657731377032472250599289349017011831994091992293015172620062892230401223790787531852335007756551508148307720408964064556169119162651), (480/196685165323953079058204888867962219254604712183628050093079322483284722701498530760876507358554217905913440769416700502780259255706888753357673979), (-552/133243099766727546117244081017911486506827774707280119921984110256504952435154075434398507198995165042148777769467619682034936678296122203868187120573), (559912101840/81718086083262628510756459753673452313595710396116467582152090596092548699138346942995509488284650803976836337164670494733866559829768848363506624334818961419869), (-24/2173071859508268481926368145646878419462201547772526128487343484370989217688082936698808454055367256832003303598349665568111043145853126268995984475417961), (73603200/4240860794203310376065563492361156949989398087086373214710625778458441940477839981850928830420029285687066701804645453159767402961229305942765784122421197736180867), (-42143976/1584451495144416428390934243279426140836596476080786316960222380784239380974799880364363647978168634590418215854419793716549388865905348534375629928732008786233507729), (19920/500928405101054055257853160651040166775739781052405977271545667900740120690648794907412838744900995483735934702287910367925490117768899039660780818226374033078050563), (-4008/69084734570733264116037292908345129295243642874159138537025167606060262465688228490400069309749327627653569983268242429865472900053832321064021543671736971949588142427), (1143848160/13844828515176396081238346585063517228531109156984345249260453934317772754836791258987516540324983611569758649525983347408589045734176589270143058509026392246407576578281097477), (-264/2298049501489853298999726814570143935075415733541040320178117596557023283819846097266919665133560594971003886703743258587669782087383469091564926469349401857856264235716401), (41520/266132609565891359236911161464926665418791779210056319343145538341053205401510023832124789828681434924955545833526088472748860651630930161756964362167852548549062311756691616511), (-29736/143660743264208373513274468732783355082607390282157290070626920140600269079916940373489469630821796809738860195004943376200250063891699292523323221920607159995968451491258598176839), (33407040/124486173680609609785965578410256757474578252225144940759721701396964367689874059777948739246049449860378177088224031460932116208362699671826981890874056119786864556246405461461603534909), (-4296/12632042883347654944117807316924718907581128850706373879685884287852020524813435342243305288970372833072115893416690187560191218299044218120629931987112731396954697411876171151081540469), (2601256998740400/6173136454016248924640522272263470960199559328290655337530202055853397791747341312347030141906500993752700612233695954532816018207721731818225290076670213481102834647254685911917265818955932383093313), (-24/47002959113727390561948400006908014816785364129982442765513000204642325933951599018823250664134491441093922676468739125102516360145271297708170655236608084482984753252154179757464908252821), (22560/37274840587958964353530192928171009410061013292639363435455028229812236187718000464609959970629550418897494991698335274760044349161564739527851963937258965076622548936071553196370959837957054089), (-504/718020841885063485504503297477947909083760255435978650643440983890310071798144761129444381883462308079830684266472134306454412497343254960348624297682499301275711015247738093235231204952712928951), (240/301239952140931038155518869583008453896017524100371873434606851696000026824423846584547054514149597907779111184134664052629899608929721660879068949677829447214288778551927380331041352784640838049383), (-50424/56963745710992208380335637328387234505135131438302696675254121987199892363279048512983463868604039481118941966554759701816023190597168353486766082377517931444615047157445055506251621319157374417199784141), (333635178240/346465752997582699690191405750952366871923192340955593486485715370392154894102000406980162521728492501917598012711402163530166516991115122131398542029056286959857727373568402417020319761912636411646719477318166587), (-24/23393678609912710957048093680086185230817746693789570486938007756801705301272955637764945979191874408873564472487875262438095401668424494065073287349640098298662995920944706022417797935271814085956797257951), (1371120/1280676226744105993317410340814157420472511309251263169501849777694241319188599560826216848052624002900323179366548276214943154305773990812218035973576149318606462627537698397102156555450354243743194387437525955737), (-8809699752/8047992260122545906218234637320960474594956945485413493585440355338290577234499460843844151150315089992748841196595969684216893313623896643984917893004822552000271471295881271939699963042627828287117858429912192655120203), (546612000/498384049428333414764928632140399662108495887457206674968055822617263669621523687568865802302210999132601412697613279391058654527145340515840099290478026350382802884371712359337984274122861159800280019110197888555893671151)]

2016年11月13日日曜日

161113

Ruby


二項係数の累乗を含む数列の和について

調べてみた。

def ncr(n, r)
  return 1 if r == 0
  (n - r + 1..n).inject(:*) / (1..r).inject(:*)
end

def A(k, n)
  (1..n).map{|i| (0..i).inject(0){|s, j| s + (ncr(i, j) * ncr(i + j, j + 1)) ** k} / 2}
end

def B(k, n)
  ary = [1]
  (1..n).each{|i|
    x = (0..i).inject(0){|s, j| s + (ncr(i, j) * ncr(i + j, j + 1)) ** k}
    break if x % (i ** k) > 0
    ary << x / (i ** k)
  }
  ary
end

def C(n)
  (1..n).map{|i| (0..i).map{|j| ncr(i, j) * ncr(i + j, j + 1)}}
end

m = 5
n = 30
# A050151, A277060
(1..m).each{|i| p [i, A(i, n)]}
# A006318, A074635
(1..m).each{|i| p [i, B(i, n)]}
p C(n)

出力結果
[1, [1, 6, 33, 180, 985, 5418, 29953, 166344, 927441, 5188590, 29113953, 163786428, 923511849, 5217709266, 29532022785, 167417253648, 950453221153, 5402869685334, 30748881013153, 175186193208900, 999071379620601, 5702750629608186, 32578618535692033, 186257611786501080, 1065624282362141425, 6100719922333885758, 34948245027968610273, 200317685527369810764, 1148806461389900452425, 6591641739234215424930]]
[2, [1, 28, 729, 19376, 529575, 14835780, 424231465, 12338211520, 363931754949, 10862528888300, 327501958094003, 9959845931792784, 305175084350065267, 9412306255856822388, 291982561878565118025, 9104382992541189221120, 285193639693249101509985, 8970637585824615570978780, 283222792618478916671835253, 8972332879718539925550732400, 285118405750465250320452124071, 9086037627026097584257344640388, 290304386217236962859910189632379, 9297676313921225339813620727309376, 298441239966616936920288872791658125, 9599245827894164000120030631211130380, 309347642905261215565927498346659305015, 9986924929897130623134502765231229101520, 322954527928778936491862589793545940878155, 10459952817435228407918880739510447854268500]]
[3, [1, 144, 18117, 2355840, 322802500, 46202330664, 6848342783821, 1044731910140928, 163230721908587523, 26019355522637664000, 4218596109562611374928, 694012114361192798238912, 115624118396327784237722286, 19477009140049013687857350936, 3312983583649527529158780076125, 568413946958328018306285588946944, 98278566124529410660270053738687541, 17110469281471419525646625182382521968, 2997665827199819408818066047244636835215, 528167664596172348506373322885242855840000, 93542680498388146110893100004547812360543656, 16645882626317975647717606806100853501581334664, 2975058772045108677932511068951433369042721079992, 533860976899387963238108569930029988756582100467200, 96155364156453958918425150106379368262324596585234375, 17378592308977011938027213276221489065457065596253218784, 3150987487382216141352275708164893612112667637695896716546, 573027721088654334175821801997093694164498213780754678276928, 104500059725010641264307220508668012063819291697159453309153490, 19107001478095388936231648470748225718067029056992781445088875000]]
[4, [1, 784, 482841, 301957376, 207306155625, 152210574183312, 116979100583031673, 93577090316082614272, 77469835161431379832137, 65968467450930706053050000, 57525658999813095558319636553, 51201090453547947026680317833472, 46387593014712417130238217013425313, 42682568713669725947701240177326669840, 39813011682187900739564293906053523685625, 37588857549776172122458363313931503886467072, 35874915732243491274499765182255210433127596113, 34573478841308579193012619826335409041710163237392, 33613003216798212977918748546783115542833320313030929, 32940589653454530114685390364788966269633802711161760000, 32516918077997640508772388323284246331336956919376833124441, 32312765489691903419654973558914742156318116226259439007334544, 32306569605719088908778656343648599634513249127250345192333143641, 32482702820928611482544468250060423496212890333983413289798449893376, 32830237042926206357528954365407578233584960940343216146530639534765625, 33342053189350969816689397603825096665862838703331262441444215425885230992, 34014197243275635331384285290566107515290379925421673658522548371133386525553, 34845415980159752033245633249333404151702411989800134987738246222484064583100672, 35836826045282997928420056525062024475260145646620456868468326386897589626532652337, 36991683992438636192888764807112924722760100069492653221634076240319450625250053130000]]
[5, [1, 4416, 13474593, 39659366400, 136488312475000, 518871454595551008, 2064025694441715203353, 8638408415912979754450944, 37933261315524012614114602071, 172652072807466404773570316400000, 809533472474723837850036369639749628, 3898238316350272437731988585378393934848, 19208516557496960001981817337508815449575054, 96546192454224145428059391401581964308525347936, 493848156623429112708699951266617461042219763115625, 2565856077886561724112748980412302180424736606684971008, 13518125106346050282388145014036222546049470662655440123853, 72115458390305459042557970737827558441077493564016647718417344, 389085928951503368246871290001088689317094999085966740613853540383, 2120872875254727163463817496193475259614992617986655687371471360000000, 11669203409496261259872311694727522717665295235864445420758844204304316676, 64756211176525524216935121228913532565824759084064813270116793711634750221216, 362187374817709764551009695747822121544594246300755161652011671089414360297992468, 2040468611213736522930163890413427700265099753928552211247895788737135597015805952000, 11572691952239916114706352256003288775634716127528371359989142975087013011018498701171875, 66044340751005125745070965952096173149100850879612797507620242232597521424647440975358737408, 379091943721827815219623828858360217565778943536654209021583850647488889565934271468592125221978, 2187718080592698489942575198527241464802296703173521971289909300453420553285424604584402229669970944, 12688865560015593469888063589582740807337843501971954831029713593058183126164202390912143256589804121050, 73943535164688294645720611184101910562182438700889662635287700146779558353104741329030553817821916612300000]]
[1, [1, 2, 6, 22, 90, 394, 1806, 8558, 41586, 206098, 1037718, 5293446, 27297738, 142078746, 745387038, 3937603038, 20927156706, 111818026018, 600318853926, 3236724317174, 17518619320890, 95149655201962, 518431875418926, 2832923350929742, 15521467648875090, 85249942588971314, 469286147871837366, 2588758890960637798, 14308406109097843626, 79228031819993134650, 439442782615614361662]]
[2, [1, 2, 14, 162, 2422, 42366, 824210, 17315570, 385569110, 8985969258, 217250577766, 5413255505686, 138331193497122, 3611539459764086, 96043941386294106, 2595400550031689938, 71127992129228040790, 1973658406181654681730, 55374306085337133154190, 1569101344146697599289946, 44861664398592699627753662, 1293053994333175738414748862, 37545610029033461091972498514, 1097559116133221031606465745302, 32283598312226476874352849747602, 955011967893174198144924392933306, 28400135585485692308047427902991510, 848690378340908684680185180649271070, 25476849310962067916159445829671502810, 768025036691507577864120308664794151910, 23244339594300507573153068310023217453930]]
[3, [1, 2, 36, 1342, 73620, 5164840, 427799358, 39932027894, 4080984023988, 447820910585974, 52038711045275328, 6338987392280407776, 803254761992121294258, 105256366314363026160876, 14196070801784995399312938, 1963249531051571869131128934, 277545872538246102688616010228, 40007557958285939613380848255114, 5867787819434643184378129349239548, 874082468931278439661194356974671770, 132041916149043087126593330721310713960, 20201421120481189096402785877237406837392, 3126574497805780549909392713392346638163286, 489037358764709242694585529539152357860231952, 77236831148638304866624503751451097910385141850, 12307886612026106741558419213616559137577548362910, 1977536676032887111746382939943273676087513153874968, 320173498692497702723393355501183113561211973550362924, 52207336105015883215727204992446582923150347465447765878, 8569441938989761061487327935435484198927327212854930772820, 1415333442821880661943085071907275979116076226443909736673250]]
[4, [1, 2, 98, 11922, 2359042, 663379698, 234892861394, 97441982992946, 45691938630899714, 23615252297342289234, 13193693490186141210610, 7858159825123023776834866, 4938376779856090569702962754, 3248317146788446982265201989666, 2222124568600048206356790929681730, 1572859720777793609464268401226805874, 1147120896904790409010570169492538570754, 859063366871648837406155701733820486659106, 658693012523025819101749348924238093311045634, 515849375262593334580286347507817090765622122498, 411757370668181626433567379559862078370422533889522, 334396862192169317401415956553948677056750602057546322, 275875670118945968680887350240034339836060687677237202098, 230892325325589094584272185588592090755202054932982266303602, 195811046133105537968656372070676742719261732819633808893943202, 168090813659782176550548246350886800555955000014557266670236874418, 145924745235421421766961055301919998712680047544427989397448511194834, 128007426010697839765408710620995021141727416309323795712120624382136066, 113381846041232012811216788738199591809735565876848627485091648735175657874, 101336883205636791963646857543358366689505714550851661131766091233604718991554, 91337491339354657266392011869414628945086666838253464744775496889677655864814946]]
[5, [1, 2, 276, 110902, 77459700, 87352519984, 133454592231366, 245615004990981758, 527246607416563705716, 1284806222477061850805758, 3453041456149328095471406328, 10053131895793554064861893060456, 31332290994327678415412716896366978, 103468239678620173297001652805244458956, 359025229272863038570459449193721233371978, 1300670042135780379150485468356523354185270158, 4893982082150577018952844582390407906388734067316, 19041530388406790659042628960573103553455694006728058, 76330101261563975514570495200836972727181550030500778716, 314273321827199452240699010823952264684970188256581615366634, 1325545547034204477164885935120922037259370386241659804607169600, 5714453883239548316690655639871552009935746072814773885738302850152, 25130320200016425005485498859411588784695825811414091370946467932376526, 112544460361329333924873082664432930794581409443454198028915385985306985752, 512511607031485229725820003660458587587483662151710845883943732301596960252250, 2370087311818734820291860942029473541249989862917810454525776481297820264656588534, 11117288225034730951208170830061463108162026162561103614197588264624824839252194522816, 52839138719322358869511639995765561455765089778148845625884097046205524862058729834766108, 254232574293902197784797535825758224902837255214243178448004052028802702334479379474558850766, 1237265212203918314852869879652548066160295895853709105328981189016586357611092620009941252592900, 6085887667875579806232149068650363009233122526822194455579234579981856654576521920084819244265178322]]
[[1, 1], [2, 6, 4], [3, 18, 30, 15], [4, 40, 120, 140, 56], [5, 75, 350, 700, 630, 210], [6, 126, 840, 2520, 3780, 2772, 792], [7, 196, 1764, 7350, 16170, 19404, 12012, 3003], [8, 288, 3360, 18480, 55440, 96096, 96096, 51480, 11440], [9, 405, 5940, 41580, 162162, 378378, 540540, 463320, 218790, 43758], [10, 550, 9900, 85800, 420420, 1261260, 2402400, 2917200, 2187900, 923780, 167960], [11, 726, 15730, 165165, 990990, 3699696, 8984976, 14440140, 15242370, 10161580, 3879876, 646646], [12, 936, 24024, 300300, 2162160, 9801792, 29405376, 59860944, 83140200, 77597520, 46558512, 16224936, 2496144], [13, 1183, 35490, 520520, 4424420, 23891868, 86465808, 216164520, 378287910, 462351890, 386694308, 210924168, 67603900, 9657700], [14, 1470, 50960, 866320, 8576568, 54318264, 232792560, 698377680, 1493752260, 2290420132, 2498640144, 1892909200, 946454600, 280816200, 37442160], [15, 1800, 71400, 1392300, 15872220, 116396280, 581981400, 2057719950, 5258617650, 9816086280, 13385572200, 13182760500, 9126526500, 4212243000, 1163381400, 145422675], [16, 2176, 97920, 2170560, 28217280, 237025152, 1365716352, 5609192160, 16827576480, 37394614400, 61871089280, 75932700480, 68144731200, 43432905600, 18614102400, 4808643120, 565722720], [17, 2601, 131784, 3294600, 48430620, 461705244, 3034063032, 14303440008, 49664722250, 129128277850, 253560981960, 376499639880, 419941906020, 346105966500, 204367332600, 81746933040, 19835652870, 2203961430], [18, 3078, 174420, 4883760, 80582040, 864913896, 6425074656, 34420042800, 136724058900, 410172176700, 939667168440, 1651536235440, 2223221855400, 2272083874200, 1731111523200, 952111337760, 357041751660, 81676217700, 8597496600], [19, 3610, 227430, 7088235, 130423524, 1565082288, 13042352400, 78719912700, 354239607150, 1212286655580, 3196028455620, 6537330931950, 10392679943100, 12790990699200, 12060076944960, 8542554502680, 4396903052850, 1551848136300, 335780006100, 33578000610], [20, 4200, 292600, 10094700, 205931880, 2745758400, 25496328000, 172100214000, 870062193000, 3364240479600, 10092721438800, 23702603379000, 43758652392000, 63474089184000, 71937301075200, 62945138440800, 41654871027000, 20146800366000, 6715600122000, 1378465288200, 131282408400], [21, 4851, 371910, 14132580, 317983050, 4684950270, 48188059920, 361410449400, 2037953367450, 8831131258950, 29865280257540, 79640747353440, 168470811709200, 283253122983600, 377670830644800, 396554372177040, 323658347879790, 200964333650850, 91667941665300, 28947771052200, 5651707681620, 513791607420], [22, 5566, 467544, 19481000, 481180700, 7795127340, 88344776520, 731999576880, 4574997355500, 22061653914300, 83433163894080, 250299491682240, 600076986468960, 1153994204748000, 1780448201611200, 2195886115320480, 2147447451011940, 1642165697832660, 960330817446000, 414458563318800, 124337568995640, 23145088600920, 2012616400080], [23, 6348, 581900, 26476450, 714864150, 12676924260, 157556058660, 1434885534225, 9884767013550, 52718757405600, 221418781103520, 741417433695120, 1996123859948400, 4343214552415200, 7652330401874400, 10904570822671020, 12508184178946170, 11445397287924600, 8232654189559800, 4549624683704100, 1863179632374060, 532337037821160, 94684453367400, 7890371113950], [24, 7200, 717600, 35521200, 1044323280, 20190250080, 274010536800, 2730319277400, 20629078984800, 121023930044160, 561110948386560, 2082911853859200, 6248735561577600, 15244168073299200, 30343153593519360, 49307624589468960, 65260091368414800, 69951993362222400, 60134169732436800, 40827936292022880, 21386061867250080, 8332231896331200, 2272426880817600, 386971244197200, 30957699535776], [25, 8125, 877500, 47092500, 1502250750, 31547265750, 465697732500, 5056146810000, 41713211182500, 267891511816500, 1363811332884000, 5579228179980000, 18525898700190000, 50284582186230000, 112062783157884000, 205448435789454000, 309683303947338750, 382549963699653750, 384787097990295000, 311880068897397000, 200494330005469500, 99813194591467500, 37084744235565000, 9674281104930000, 1580132580471900, 121548660036300], [26, 9126, 1064700, 61752600, 2130464700, 48432564180, 774921026880, 9132997816800, 81943285967400, 573603001771800, 3191318518948560, 14312580024375360, 52295965473679200, 156887896421037600, 388484314947331200, 796392845642028960, 1352696671641975660, 1900848264072057300, 2200982200504487400, 2085141032056882800, 1598608124576943480, 975773790326186280, 462817608059851200, 164333788369077600, 41083447092269400, 6446940928325352, 477551179875952], [27, 10206, 1282554, 80159625, 2981938050, 73156880160, 1264568928480, 16123253838120, 156753856759500, 1191329311372200, 7212957467035320, 35299776694733460, 141199106778933840, 465491560809672000, 1272343599546436800, 2894581688968143720, 5491191733483684410, 8685414375836938740, 11428176810311761500, 12450697893339655950, 11146339066418358660, 8106428411940624480, 4710059195870639520, 2133178983637065000, 725280854436602100, 174067405064784504, 26283682246249512, 1877405874732108], [28, 11368, 1534680, 103079340, 4123173600, 108851783040, 2026716531840, 27867352312800, 292607199284400, 2405881416338400, 15791330750875680, 83981168084202480, 366071758315754400, 1319467436566675200, 3958402309700025600, 9928992460164230880, 20880087085345367880, 36847212503550649200, 54516636043264995600, 67428470895617231400, 69354998635492009440, 58846665508902311040, 40704215272956144000, 22564293249138732000, 9777860407960117200, 3189086779211607456, 735943102894986336, 107081668410646160, 7384942649010080], [29, 12615, 1824970, 131397840, 5636967336, 159714074520, 3194281490400, 47229733465200, 533958375564900, 4734430930008780, 33571419321880440, 193289990035069200, 914410337473596600, 3587302093165648200, 11752684952847456960, 32319883620330506640, 74858553973559629350, 146292206784930256050, 241253814697955159100, 335215826738211378960, 391085131194579942120, 380927075838876567000, 307150685656643556000, 202541394164888142000, 107346938907390715260, 44590266930762297108, 13974157727589323880, 3105368383908738640, 435975364243345080, 29065024282889672], [30, 13950, 2157600, 166135200, 7625605680, 231310038960, 4956643692000, 78598207116000, 954094903047000, 9095704742381400, 69458108941821600, 431482191911316000, 2207197366315578000, 9386652535869546000, 33434362365859144800, 100303087097577434400, 254445331240178050500, 547140614235415546500, 998291647026021348000, 1544724969608685664800, 2022854126868516942000, 2233020789400310910000, 2065323575967085980000, 1586407964148631260000, 999437017413637693800, 507406485763846829160, 202384353296121242400, 61036550994068311200, 13079260927300352400, 1773968723472921360, 114449595062769120]]

2016年11月7日月曜日

161107

Ruby


RSA-129 問題

確認してみた。

# i, jともに素数!
i = 3490529510847650949147849619903898133417764638493387843990820577
j = 32769132993266709549961988190834461413177642967992942539798288533
p i * j

出力結果
114381625757888867669235779976146612010218296721242362562561842935706935245733897830597123563958705058989075147599290026879543541

2016年11月6日日曜日

161106

Ruby


二項係数の二乗の性質について(3)

 重複組合せnHr を((n, r)) と表示することにする。
二項係数の二乗に関する次の式を確認してみる。

5 * binomial(3n - 1, n - 1)^2 = Sum_{k=0..n} binomial(n, k)^2 * ((2n, 2n - k))

def ncr(n, r)
  return 1 if r == 0
  (n - r + 1..n).inject(:*) / (1..r).inject(:*)
end

def nhr(n, r)
  ncr(n + r - 1, r)
end

n = 50
(1..n).each{|i|
  k = (0..i).inject(0){|s, j| s + ncr(i, j) ** 2 * nhr(2 * i, 2 * i - j)}
  p [i, k, k == 5 * ncr(3 * i - 1, i - 1) ** 2]
}

出力結果
[1, 5, true]
[2, 125, true]
[3, 3920, true]
[4, 136125, true]
[5, 5010005, true]
[6, 191456720, true]
[7, 7511688000, true]
[8, 300509773245, true]
[9, 12203515878125, true]
[10, 501501625750125, true]
[11, 20809145549088000, true]
[12, 870387258154050000, true]
[13, 36652108385188109520, true]
[14, 1552335454661154248000, true]
[15, 66074189571630987633920, true]
[16, 2824635346319475590467005, true]
[17, 121213601091557180872903125, true]
[18, 5219287249322913057702081125, true]
[19, 225415876207126914865606050000, true]
[20, 9761977978250952558199317886125, true]
[21, 423796228858502525036923296895125, true]
[22, 18439281497705737654570601671200000, true]
[23, 803920759903721244436553246147712000, true]
[24, 35114811386490330902527405779216450000, true]
[25, 1536419605787133040572870669115810556880, true]
[26, 67330826461763685406071018635669587555920, true]
[27, 2954958272205246175172671455895038581888000, true]
[28, 129860275059297834326052719572023136549750080, true]
[29, 5714100615689791045509061011263620283683272000, true]
[30, 251726667426709061508704392746751645541565246720, true]
[31, 11101639641168495945252540008389522630769995207680, true]
[32, 490107678206611390297579895276970421471138365640125, true]
[33, 21657835530998409267377651899694060901145836096476805, true]
[34, 957928021604441458796952933805035548870180388171778125, true]
[35, 42405506365910124695749494875183102906606941194955938000, true]
[36, 1878721297106371909447193335226357078352343727411077705125, true]
[37, 83297904182966626065307278082564328745492088967518833028125, true]
[38, 3695896535373490814451768948155704857090002311253533143427920, true]
[39, 164098011252062318795154200003397539340371320812182134214088000, true]
[40, 7290706377677765874813559343627535473384875913997522298753603245, true]
[41, 324119213898933218121907761534375424099857170623741315154598559805, true]
[42, 14417698049244933814515809681182381784327626199848666419901200078125, true]
[43, 641698556810269758323741068201979859915662206761149661915470860800000, true]
[44, 28575840845033885242110477609131258038844430408760279905768876180000000, true]
[45, 1273178729200484750162347884415797979751768588325276827637010380960800000, true]
[46, 56753466775643973680930178572355732719403373330074873511543557525379200000, true]
[47, 2531039788842194784413462616965585893377627717723137864478826363648320000000, true]
[48, 112927722363440790088019300576036110444804531455934370346025549638133008450000, true]
[49, 5040680542424620476003380571241674395828657079887329811956805576711483051250000, true]
[50, 225090550010539077888751060088984021679182030739485202473522736592300559951922000, true]

2016年11月5日土曜日

161105(3)

Ruby


33…31型の素数(4)

末尾を9 に変えてみた。

require 'prime'

def f(m, n)
  (1..9).each{|i|
    if i != m
      (1..n).each{|j|
        k = ([i] * j + [m]).join.to_i
        if k.prime?
          p [j, k, 'prime']
        else
          p [j, k, k.prime_division]
        end
      }
    end
  }
end

f(9, 15)

出力結果
[1, 19, "prime"]
[2, 119, [[7, 1], [17, 1]]]
[3, 1119, [[3, 1], [373, 1]]]
[4, 11119, "prime"]
[5, 111119, "prime"]
[6, 1111119, [[3, 1], [370373, 1]]]
[7, 11111119, "prime"]
[8, 111111119, [[7, 1], [619, 1], [25643, 1]]]
[9, 1111111119, [[3, 2], [123456791, 1]]]
[10, 11111111119, [[43, 1], [258397933, 1]]]
[11, 111111111119, [[79, 1], [1406469761, 1]]]
[12, 1111111111119, [[3, 1], [797, 1], [2137, 1], [217457, 1]]]
[13, 11111111111119, [[107, 1], [27091, 1], [3833087, 1]]]
[14, 111111111111119, [[7, 1], [5827, 1], [2724045971, 1]]]
[15, 1111111111111119, [[3, 1], [29, 1], [138191, 1], [92418407, 1]]]
[1, 29, "prime"]
[2, 229, "prime"]
[3, 2229, [[3, 1], [743, 1]]]
[4, 22229, "prime"]
[5, 222229, [[7, 1], [53, 1], [599, 1]]]
[6, 2222229, [[3, 1], [71, 1], [10433, 1]]]
[7, 22222229, [[19, 1], [1169591, 1]]]
[8, 222222229, [[31, 1], [7168459, 1]]]
[9, 2222222229, [[3, 3], [443, 1], [185789, 1]]]
[10, 22222222229, [[145501, 1], [152729, 1]]]
[11, 222222222229, [[7, 1], [557, 1], [1087, 1], [52433, 1]]]
[12, 2222222222229, [[3, 1], [545497, 1], [1357919, 1]]]
[13, 22222222222229, "prime"]
[14, 222222222222229, [[17, 1], [47, 1], [278125434571, 1]]]
[15, 2222222222222229, [[3, 1], [23, 1], [352201, 1], [91442441, 1]]]
[1, 39, [[3, 1], [13, 1]]]
[2, 339, [[3, 1], [113, 1]]]
[3, 3339, [[3, 2], [7, 1], [53, 1]]]
[4, 33339, [[3, 1], [11113, 1]]]
[5, 333339, [[3, 1], [23, 1], [4831, 1]]]
[6, 3333339, [[3, 3], [123457, 1]]]
[7, 33333339, [[3, 1], [13, 1], [31, 1], [79, 1], [349, 1]]]
[8, 333333339, [[3, 1], [111111113, 1]]]
[9, 3333333339, [[3, 2], [7, 3], [1079797, 1]]]
[10, 33333333339, [[3, 1], [11111111113, 1]]]
[11, 333333333339, [[3, 1], [461, 1], [241021933, 1]]]
[12, 3333333333339, [[3, 2], [370370370371, 1]]]
[13, 33333333333339, [[3, 1], [13, 1], [95003, 1], [8996567, 1]]]
[14, 333333333333339, [[3, 1], [1163, 1], [95538358651, 1]]]
[15, 3333333333333339, [[3, 3], [7, 1], [17636684303351, 1]]]
[1, 49, [[7, 2]]]
[2, 449, "prime"]
[3, 4449, [[3, 1], [1483, 1]]]
[4, 44449, "prime"]
[5, 444449, "prime"]
[6, 4444449, [[3, 1], [1481483, 1]]]
[7, 44444449, [[7, 1], [269, 1], [23603, 1]]]
[8, 444444449, [[709, 1], [626861, 1]]]
[9, 4444444449, [[3, 2], [701, 1], [704461, 1]]]
[10, 44444444449, [[197, 1], [225606317, 1]]]
[11, 444444444449, [[28001, 1], [15872449, 1]]]
[12, 4444444444449, [[3, 1], [17, 1], [29, 1], [3005033431, 1]]]
[13, 44444444444449, [[7, 1], [61, 1], [104085349987, 1]]]
[14, 444444444444449, [[2087, 1], [24029, 1], [8862563, 1]]]
[15, 4444444444444449, [[3, 1], [19, 1], [77972709551657, 1]]]
[1, 59, "prime"]
[2, 559, [[13, 1], [43, 1]]]
[3, 5559, [[3, 1], [17, 1], [109, 1]]]
[4, 55559, [[7, 1], [7937, 1]]]
[5, 555559, [[431, 1], [1289, 1]]]
[6, 5555559, [[3, 1], [29, 1], [63857, 1]]]
[7, 55555559, "prime"]
[8, 555555559, [[13, 2], [3287311, 1]]]
[9, 5555555559, [[3, 3], [19, 1], [53, 1], [204331, 1]]]
[10, 55555555559, [[7, 1], [47, 1], [168861871, 1]]]
[11, 555555555559, "prime"]
[12, 5555555555559, [[3, 1], [257, 1], [7205649229, 1]]]
[13, 55555555555559, [[9013, 1], [17029, 1], [361967, 1]]]
[14, 555555555555559, [[13, 1], [42735042735043, 1]]]
[15, 5555555555555559, [[3, 1], [313, 1], [347, 1], [17050315823, 1]]]
[1, 69, [[3, 1], [23, 1]]]
[2, 669, [[3, 1], [223, 1]]]
[3, 6669, [[3, 3], [13, 1], [19, 1]]]
[4, 66669, [[3, 1], [71, 1], [313, 1]]]
[5, 666669, [[3, 1], [61, 1], [3643, 1]]]
[6, 6666669, [[3, 2], [17, 1], [43573, 1]]]
[7, 66666669, [[3, 1], [22222223, 1]]]
[8, 666666669, [[3, 1], [449, 1], [494927, 1]]]
[9, 6666666669, [[3, 2], [13, 1], [6353, 1], [8969, 1]]]
[10, 66666666669, [[3, 1], [22222222223, 1]]]
[11, 666666666669, [[3, 1], [787, 1], [1291, 1], [218719, 1]]]
[12, 6666666666669, [[3, 4], [431, 1], [10651, 1], [17929, 1]]]
[13, 66666666666669, [[3, 1], [401, 1], [55417013023, 1]]]
[14, 666666666666669, [[3, 1], [97, 1], [2290950744559, 1]]]
[15, 6666666666666669, [[3, 2], [13, 1], [56980056980057, 1]]]
[1, 79, "prime"]
[2, 779, [[19, 1], [41, 1]]]
[3, 7779, [[3, 1], [2593, 1]]]
[4, 77779, [[13, 1], [31, 1], [193, 1]]]
[5, 777779, [[113, 1], [6883, 1]]]
[6, 7777779, [[3, 1], [2592593, 1]]]
[7, 77777779, [[41, 1], [263, 1], [7213, 1]]]
[8, 777777779, [[3319, 1], [234341, 1]]]
[9, 7777777779, [[3, 2], [43, 1], [20097617, 1]]]
[10, 77777777779, [[13, 1], [229, 1], [26126227, 1]]]
[11, 777777777779, [[17, 1], [47, 1], [3823, 1], [254627, 1]]]
[12, 7777777777779, [[3, 1], [41, 1], [3167, 1], [19966519, 1]]]
[13, 77777777777779, [[5347, 1], [14546059057, 1]]]
[14, 777777777777779, [[23, 1], [79, 1], [1063, 1], [4817, 1], [83597, 1]]]
[15, 7777777777777779, [[3, 1], [103, 1], [617, 1], [40795464943, 1]]]
[1, 89, "prime"]
[2, 889, [[7, 1], [127, 1]]]
[3, 8889, [[3, 1], [2963, 1]]]
[4, 88889, [[103, 1], [863, 1]]]
[5, 888889, [[67, 1], [13267, 1]]]
[6, 8888889, [[3, 1], [2962963, 1]]]
[7, 88888889, [[251, 1], [354139, 1]]]
[8, 888888889, [[7, 1], [23, 1], [29, 1], [61, 1], [3121, 1]]]
[9, 8888888889, [[3, 4], [17, 2], [379721, 1]]]
[10, 88888888889, [[5081, 1], [17494369, 1]]]
[11, 888888888889, [[19, 1], [59, 1], [113, 1], [937, 1], [7489, 1]]]
[12, 8888888888889, [[3, 1], [4007, 1], [739446709, 1]]]
[13, 88888888888889, "prime"]
[14, 888888888888889, [[7, 2], [43, 1], [163, 1], [409, 1], [1423, 1], [4447, 1]]]
[15, 8888888888888889, [[3, 1], [83, 1], [48883, 1], [730281467, 1]]]

161105(2)

Ruby


33…31型の素数(3)

末尾を7 に変えてみた。

require 'prime'

def f(m, n)
  (1..9).each{|i|
    if i != m
      (1..n).each{|j|
        k = ([i] * j + [m]).join.to_i
        if k.prime?
          p [j, k, 'prime']
        else
          p [j, k, k.prime_division]
        end
      }
    end
  }
end

f(7, 15)

出力結果
[1, 17, "prime"]
[2, 117, [[3, 2], [13, 1]]]
[3, 1117, "prime"]
[4, 11117, "prime"]
[5, 111117, [[3, 1], [37039, 1]]]
[6, 1111117, [[7, 1], [158731, 1]]]
[7, 11111117, "prime"]
[8, 111111117, [[3, 1], [13, 1], [1381, 1], [2063, 1]]]
[9, 1111111117, [[23, 1], [1069, 1], [45191, 1]]]
[10, 11111111117, [[1021, 1], [10882577, 1]]]
[11, 111111111117, [[3, 2], [71, 1], [173882803, 1]]]
[12, 1111111111117, [[7, 1], [31, 1], [131, 1], [39086471, 1]]]
[13, 11111111111117, [[419, 1], [26518164943, 1]]]
[14, 111111111111117, [[3, 1], [13, 1], [2849002849003, 1]]]
[15, 1111111111111117, [[19, 1], [7297, 1], [8014188319, 1]]]
[1, 27, [[3, 3]]]
[2, 227, "prime"]
[3, 2227, [[17, 1], [131, 1]]]
[4, 22227, [[3, 1], [31, 1], [239, 1]]]
[5, 222227, [[29, 1], [79, 1], [97, 1]]]
[6, 2222227, [[7, 1], [523, 1], [607, 1]]]
[7, 22222227, [[3, 1], [347, 1], [21347, 1]]]
[8, 222222227, "prime"]
[9, 2222222227, [[419, 1], [5303633, 1]]]
[10, 22222222227, [[3, 2], [2469135803, 1]]]
[11, 222222222227, [[19, 1], [23, 1], [239, 1], [2127689, 1]]]
[12, 2222222222227, [[7, 3], [4993, 1], [1297573, 1]]]
[13, 22222222222227, [[3, 1], [7407407407409, 1]]]
[14, 222222222222227, "prime"]
[15, 2222222222222227, [[17078023, 1], [130121749, 1]]]
[1, 37, "prime"]
[2, 337, "prime"]
[3, 3337, [[47, 1], [71, 1]]]
[4, 33337, [[17, 1], [37, 1], [53, 1]]]
[5, 333337, "prime"]
[6, 3333337, [[7, 1], [31, 1], [15361, 1]]]
[7, 33333337, [[37, 1], [163, 1], [5527, 1]]]
[8, 333333337, [[29, 1], [11494253, 1]]]
[9, 3333333337, [[191, 1], [17452007, 1]]]
[10, 33333333337, [[37, 2], [24348673, 1]]]
[11, 333333333337, [[269, 1], [5107, 1], [242639, 1]]]
[12, 3333333333337, [[7, 1], [168037, 1], [2833843, 1]]]
[13, 33333333333337, [[23, 1], [37, 1], [67, 1], [584620961, 1]]]
[14, 333333333333337, [[19, 1], [61, 1], [176651, 1], [1628093, 1]]]
[15, 3333333333333337, [[59, 1], [16993, 1], [3324732251, 1]]]
[1, 47, "prime"]
[2, 447, [[3, 1], [149, 1]]]
[3, 4447, "prime"]
[4, 44447, [[13, 2], [263, 1]]]
[5, 444447, [[3, 5], [31, 1], [59, 1]]]
[6, 4444447, [[7, 2], [90703, 1]]]
[7, 44444447, [[179, 1], [248293, 1]]]
[8, 444444447, [[3, 1], [17, 1], [19, 1], [458663, 1]]]
[9, 4444444447, "prime"]
[10, 44444444447, [[13, 1], [1361, 1], [2511979, 1]]]
[11, 444444444447, [[3, 1], [148148148149, 1]]]
[12, 4444444444447, [[7, 1], [24481, 1], [25935241, 1]]]
[13, 44444444444447, [[3571, 1], [12445937957, 1]]]
[14, 444444444444447, [[3, 2], [49382716049383, 1]]]
[15, 4444444444444447, [[29, 1], [153256704980843, 1]]]
[1, 57, [[3, 1], [19, 1]]]
[2, 557, "prime"]
[3, 5557, "prime"]
[4, 55557, [[3, 2], [6173, 1]]]
[5, 555557, "prime"]
[6, 5555557, [[7, 1], [43, 1], [18457, 1]]]
[7, 55555557, [[3, 1], [23, 1], [805153, 1]]]
[8, 555555557, [[31, 1], [47, 1], [381301, 1]]]
[9, 5555555557, "prime"]
[10, 55555555557, [[3, 1], [28211, 1], [656429, 1]]]
[11, 555555555557, [[40427, 1], [13742191, 1]]]
[12, 5555555555557, [[7, 1], [17, 1], [809, 1], [2617, 1], [22051, 1]]]
[13, 55555555555557, [[3, 2], [462191, 1], [13355603, 1]]]
[14, 555555555555557, "prime"]
[15, 5555555555555557, [[1259, 1], [2477, 1], [3677, 1], [484487, 1]]]
[1, 67, "prime"]
[2, 667, [[23, 1], [29, 1]]]
[3, 6667, [[59, 1], [113, 1]]]
[4, 66667, [[163, 1], [409, 1]]]
[5, 666667, "prime"]
[6, 6666667, [[7, 1], [952381, 1]]]
[7, 66666667, "prime"]
[8, 666666667, "prime"]
[9, 6666666667, [[19, 1], [1627, 1], [215659, 1]]]
[10, 66666666667, "prime"]
[11, 666666666667, [[43, 1], [2347, 1], [6605827, 1]]]
[12, 6666666666667, [[7, 1], [5981, 1], [159234401, 1]]]
[13, 66666666666667, [[17, 1], [1873, 1], [41161, 1], [50867, 1]]]
[14, 666666666666667, [[127, 1], [138563, 1], [37884167, 1]]]
[15, 6666666666666667, [[179, 1], [12713, 1], [2929595521, 1]]]
[1, 87, [[3, 1], [29, 1]]]
[2, 887, "prime"]
[3, 8887, "prime"]
[4, 88887, [[3, 1], [29629, 1]]]
[5, 888887, "prime"]
[6, 8888887, [[7, 1], [313, 1], [4057, 1]]]
[7, 88888887, [[3, 3], [227, 1], [14503, 1]]]
[8, 888888887, "prime"]
[9, 8888888887, [[67453, 1], [131779, 1]]]
[10, 88888888887, [[3, 1], [19, 1], [1559454191, 1]]]
[11, 888888888887, "prime"]
[12, 8888888888887, [[7, 1], [701, 1], [1811471141, 1]]]
[13, 88888888888887, [[3, 1], [151, 1], [2423, 1], [80983373, 1]]]
[14, 888888888888887, [[23, 1], [113, 1], [28393, 1], [12045641, 1]]]
[15, 8888888888888887, [[107, 1], [181, 1], [4787, 1], [95878603, 1]]]
[1, 97, "prime"]
[2, 997, "prime"]
[3, 9997, [[13, 1], [769, 1]]]
[4, 99997, [[19, 2], [277, 1]]]
[5, 999997, [[757, 1], [1321, 1]]]
[6, 9999997, [[7, 1], [1428571, 1]]]
[7, 99999997, [[1297, 1], [77101, 1]]]
[8, 999999997, [[71, 1], [2251, 1], [6257, 1]]]
[9, 9999999997, [[13, 1], [769230769, 1]]]
[10, 99999999997, [[17, 1], [5882352941, 1]]]
[11, 999999999997, [[5507, 1], [181587071, 1]]]
[12, 9999999999997, [[7, 2], [56527, 1], [3610339, 1]]]
[13, 99999999999997, [[839, 1], [119189511323, 1]]]
[14, 999999999999997, [[599, 1], [2131, 1], [3733, 1], [209861, 1]]]
[15, 9999999999999997, [[13, 1], [433, 1], [39323, 1], [45177491, 1]]]

161105

Ruby


33…31型の素数(2)

末尾を3 に変えてみた。

require 'prime'

def f(m, n)
  (1..9).each{|i|
    if i != m
      (1..n).each{|j|
        k = ([i] * j + [m]).join.to_i
        if k.prime?
          p [j, k, 'prime']
        else
          p [j, k, k.prime_division]
        end
      }
    end
  }
end

f(3, 15)

出力結果
[1, 13, "prime"]
[2, 113, "prime"]
[3, 1113, [[3, 1], [7, 1], [53, 1]]]
[4, 11113, "prime"]
[5, 111113, [[23, 1], [4831, 1]]]
[6, 1111113, [[3, 2], [123457, 1]]]
[7, 11111113, [[13, 1], [31, 1], [79, 1], [349, 1]]]
[8, 111111113, "prime"]
[9, 1111111113, [[3, 1], [7, 3], [1079797, 1]]]
[10, 11111111113, "prime"]
[11, 111111111113, [[461, 1], [241021933, 1]]]
[12, 1111111111113, [[3, 1], [370370370371, 1]]]
[13, 11111111111113, [[13, 1], [95003, 1], [8996567, 1]]]
[14, 111111111111113, [[1163, 1], [95538358651, 1]]]
[15, 1111111111111113, [[3, 2], [7, 1], [17636684303351, 1]]]
[1, 23, "prime"]
[2, 223, "prime"]
[3, 2223, [[3, 2], [13, 1], [19, 1]]]
[4, 22223, [[71, 1], [313, 1]]]
[5, 222223, [[61, 1], [3643, 1]]]
[6, 2222223, [[3, 1], [17, 1], [43573, 1]]]
[7, 22222223, "prime"]
[8, 222222223, [[449, 1], [494927, 1]]]
[9, 2222222223, [[3, 1], [13, 1], [6353, 1], [8969, 1]]]
[10, 22222222223, "prime"]
[11, 222222222223, [[787, 1], [1291, 1], [218719, 1]]]
[12, 2222222222223, [[3, 3], [431, 1], [10651, 1], [17929, 1]]]
[13, 22222222222223, [[401, 1], [55417013023, 1]]]
[14, 222222222222223, [[97, 1], [2290950744559, 1]]]
[15, 2222222222222223, [[3, 1], [13, 1], [56980056980057, 1]]]
[1, 43, "prime"]
[2, 443, "prime"]
[3, 4443, [[3, 1], [1481, 1]]]
[4, 44443, [[7, 2], [907, 1]]]
[5, 444443, "prime"]
[6, 4444443, [[3, 3], [97, 1], [1697, 1]]]
[7, 44444443, [[17, 2], [29, 1], [5303, 1]]]
[8, 444444443, "prime"]
[9, 4444444443, [[3, 1], [1481481481, 1]]]
[10, 44444444443, [[7, 1], [6349206349, 1]]]
[11, 444444444443, "prime"]
[12, 4444444444443, [[3, 1], [1481481481481, 1]]]
[13, 44444444444443, [[2833, 1], [15688120171, 1]]]
[14, 444444444444443, [[19, 1], [6229, 1], [3755307893, 1]]]
[15, 4444444444444443, [[3, 2], [5050471, 1], [97778437, 1]]]
[1, 53, "prime"]
[2, 553, [[7, 1], [79, 1]]]
[3, 5553, [[3, 2], [617, 1]]]
[4, 55553, [[73, 1], [761, 1]]]
[5, 555553, [[29, 1], [19157, 1]]]
[6, 5555553, [[3, 1], [1851851, 1]]]
[7, 55555553, "prime"]
[8, 555555553, [[7, 1], [6113, 1], [12983, 1]]]
[9, 5555555553, [[3, 1], [1851851851, 1]]]
[10, 55555555553, [[191, 1], [290866783, 1]]]
[11, 555555555553, [[971, 1], [17443, 1], [32801, 1]]]
[12, 5555555555553, [[3, 2], [73, 1], [409, 1], [20674681, 1]]]
[13, 55555555555553, [[17, 1], [19, 1], [171998624011, 1]]]
[14, 555555555555553, [[7, 1], [53, 1], [1497454327643, 1]]]
[15, 5555555555555553, [[3, 1], [79, 1], [2198701, 1], [10661369, 1]]]
[1, 63, [[3, 2], [7, 1]]]
[2, 663, [[3, 1], [13, 1], [17, 1]]]
[3, 6663, [[3, 1], [2221, 1]]]
[4, 66663, [[3, 4], [823, 1]]]
[5, 666663, [[3, 1], [359, 1], [619, 1]]]
[6, 6666663, [[3, 1], [19, 1], [116959, 1]]]
[7, 66666663, [[3, 2], [7, 1], [373, 1], [2837, 1]]]
[8, 666666663, [[3, 1], [13, 1], [17094017, 1]]]
[9, 6666666663, [[3, 1], [89, 1], [24968789, 1]]]
[10, 66666666663, [[3, 2], [56239, 1], [131713, 1]]]
[11, 666666666663, [[3, 1], [29, 1], [7662835249, 1]]]
[12, 6666666666663, [[3, 1], [163, 1], [181, 1], [75321907, 1]]]
[13, 66666666666663, [[3, 3], [7, 2], [109, 1], [443, 1], [521, 1], [2003, 1]]]
[14, 666666666666663, [[3, 1], [13, 1], [131, 1], [197003, 1], [662369, 1]]]
[15, 6666666666666663, [[3, 1], [67, 1], [1229, 1], [131321, 1], [205507, 1]]]
[1, 73, "prime"]
[2, 773, "prime"]
[3, 7773, [[3, 1], [2591, 1]]]
[4, 77773, "prime"]
[5, 777773, [[709, 1], [1097, 1]]]
[6, 7777773, [[3, 2], [233, 1], [3709, 1]]]
[7, 77777773, [[19, 1], [4093567, 1]]]
[8, 777777773, "prime"]
[9, 7777777773, [[3, 1], [23, 1], [73, 1], [1544129, 1]]]
[10, 77777777773, [[29, 1], [53, 1], [1777, 1], [28477, 1]]]
[11, 777777777773, "prime"]
[12, 7777777777773, [[3, 1], [17, 1], [601, 1], [3557, 1], [71339, 1]]]
[13, 77777777777773, [[2579, 1], [30158114687, 1]]]
[14, 777777777777773, "prime"]
[15, 7777777777777773, [[3, 3], [288065843621399, 1]]]
[1, 83, "prime"]
[2, 883, "prime"]
[3, 8883, [[3, 3], [7, 1], [47, 1]]]
[4, 88883, "prime"]
[5, 888883, [[397, 1], [2239, 1]]]
[6, 8888883, [[3, 1], [2962961, 1]]]
[7, 88888883, "prime"]
[8, 888888883, "prime"]
[9, 8888888883, [[3, 1], [7, 1], [19, 1], [2687, 1], [8291, 1]]]
[10, 88888888883, [[59, 1], [1506591337, 1]]]
[11, 888888888883, [[17, 1], [349, 1], [149821151, 1]]]
[12, 8888888888883, [[3, 2], [3779, 1], [261353353, 1]]]
[13, 88888888888883, [[1738543, 1], [51128381, 1]]]
[14, 888888888888883, "prime"]
[15, 8888888888888883, [[3, 1], [7, 1], [3096389, 1], [136701307, 1]]]
[1, 93, [[3, 1], [31, 1]]]
[2, 993, [[3, 1], [331, 1]]]
[3, 9993, [[3, 1], [3331, 1]]]
[4, 99993, [[3, 1], [33331, 1]]]
[5, 999993, [[3, 1], [333331, 1]]]
[6, 9999993, [[3, 1], [3333331, 1]]]
[7, 99999993, [[3, 1], [33333331, 1]]]
[8, 999999993, [[3, 1], [17, 1], [19607843, 1]]]
[9, 9999999993, [[3, 1], [673, 1], [4952947, 1]]]
[10, 99999999993, [[3, 1], [307, 1], [108577633, 1]]]
[11, 999999999993, [[3, 1], [19, 1], [83, 1], [211371803, 1]]]
[12, 9999999999993, [[3, 1], [523, 1], [3049, 1], [2090353, 1]]]
[13, 99999999999993, [[3, 1], [607, 1], [1511, 1], [1997, 1], [18199, 1]]]
[14, 999999999999993, [[3, 1], [181, 1], [1841620626151, 1]]]
[15, 9999999999999993, [[3, 1], [199, 1], [16750418760469, 1]]]

2016年11月3日木曜日

161103(2)

Ruby


33…31型の素数(1)

31 ←素数
331 ←素数
3331 ←素数
33331 ←素数
333331 ←素数
3333331 ←素数
33333331 ←素数
333333331 ←素数じゃない
というのを見て、3 ではない場合についても気になったので
調べてみた。

require 'prime'

def f(m, n)
  (1..9).each{|i|
    if i != m
      (1..n).each{|j|
        k = ([i] * j + [m]).join.to_i
        if k.prime?
          p [j, k, 'prime']
        else
          p [j, k, k.prime_division]
        end
      }
    end
  }
end

f(1, 17)

出力結果
[1, 21, [[3, 1], [7, 1]]]
[2, 221, [[13, 1], [17, 1]]]
[3, 2221, "prime"]
[4, 22221, [[3, 3], [823, 1]]]
[5, 222221, [[359, 1], [619, 1]]]
[6, 2222221, [[19, 1], [116959, 1]]]
[7, 22222221, [[3, 1], [7, 1], [373, 1], [2837, 1]]]
[8, 222222221, [[13, 1], [17094017, 1]]]
[9, 2222222221, [[89, 1], [24968789, 1]]]
[10, 22222222221, [[3, 1], [56239, 1], [131713, 1]]]
[11, 222222222221, [[29, 1], [7662835249, 1]]]
[12, 2222222222221, [[163, 1], [181, 1], [75321907, 1]]]
[13, 22222222222221, [[3, 2], [7, 2], [109, 1], [443, 1], [521, 1], [2003, 1]]]
[14, 222222222222221, [[13, 1], [131, 1], [197003, 1], [662369, 1]]]
[15, 2222222222222221, [[67, 1], [1229, 1], [131321, 1], [205507, 1]]]
[16, 22222222222222221, [[3, 1], [23, 1], [211, 1], [239851, 1], [6363769, 1]]]
[17, 222222222222222221, "prime"]
[1, 31, "prime"]
[2, 331, "prime"]
[3, 3331, "prime"]
[4, 33331, "prime"]
[5, 333331, "prime"]
[6, 3333331, "prime"]
[7, 33333331, "prime"]
[8, 333333331, [[17, 1], [19607843, 1]]]
[9, 3333333331, [[673, 1], [4952947, 1]]]
[10, 33333333331, [[307, 1], [108577633, 1]]]
[11, 333333333331, [[19, 1], [83, 1], [211371803, 1]]]
[12, 3333333333331, [[523, 1], [3049, 1], [2090353, 1]]]
[13, 33333333333331, [[607, 1], [1511, 1], [1997, 1], [18199, 1]]]
[14, 333333333333331, [[181, 1], [1841620626151, 1]]]
[15, 3333333333333331, [[199, 1], [16750418760469, 1]]]
[16, 33333333333333331, [[31, 1], [1499, 1], [717324094199, 1]]]
[17, 333333333333333331, "prime"]
[1, 41, "prime"]
[2, 441, [[3, 2], [7, 2]]]
[3, 4441, "prime"]
[4, 44441, [[19, 1], [2339, 1]]]
[5, 444441, [[3, 1], [148147, 1]]]
[6, 4444441, [[41, 1], [108401, 1]]]
[7, 44444441, [[23, 1], [1932367, 1]]]
[8, 444444441, [[3, 1], [7, 1], [79, 1], [267899, 1]]]
[9, 4444444441, [[2503, 1], [1775647, 1]]]
[10, 44444444441, "prime"]
[11, 444444444441, [[3, 2], [41, 1], [293, 1], [1093, 1], [3761, 1]]]
[12, 4444444444441, [[83, 1], [503, 1], [106456309, 1]]]
[13, 44444444444441, [[852143, 1], [52156087, 1]]]
[14, 444444444444441, [[3, 1], [7, 1], [17, 1], [59, 1], [1753, 1], [12036919, 1]]]
[15, 4444444444444441, [[6823, 1], [62081, 1], [10492607, 1]]]
[16, 44444444444444441, [[29, 1], [41, 1], [37379684141669, 1]]]
[17, 444444444444444441, [[3, 1], [19141747, 1], [7739531201, 1]]]
[1, 51, [[3, 1], [17, 1]]]
[2, 551, [[19, 1], [29, 1]]]
[3, 5551, [[7, 1], [13, 1], [61, 1]]]
[4, 55551, [[3, 1], [18517, 1]]]
[5, 555551, [[31, 1], [17921, 1]]]
[6, 5555551, [[773, 1], [7187, 1]]]
[7, 55555551, [[3, 4], [47, 1], [14593, 1]]]
[8, 555555551, [[7417, 1], [74903, 1]]]
[9, 5555555551, [[7, 1], [13, 1], [131, 1], [227, 1], [2053, 1]]]
[10, 55555555551, [[3, 1], [23, 1], [181, 1], [4448359, 1]]]
[11, 555555555551, "prime"]
[12, 5555555555551, "prime"]
[13, 55555555555551, [[3, 1], [493807, 1], [37501531, 1]]]
[14, 555555555555551, [[229, 1], [2426006792819, 1]]]
[15, 5555555555555551, [[7, 1], [13, 1], [13513, 1], [31849, 1], [141853, 1]]]
[16, 55555555555555551, [[3, 2], [24071, 1], [256443002209, 1]]]
[17, 555555555555555551, [[17, 1], [3739, 1], [206177, 1], [42391901, 1]]]
[1, 61, "prime"]
[2, 661, "prime"]
[3, 6661, "prime"]
[4, 66661, [[7, 1], [89, 1], [107, 1]]]
[5, 666661, [[379, 1], [1759, 1]]]
[6, 6666661, [[113, 1], [58997, 1]]]
[7, 66666661, [[2011, 1], [33151, 1]]]
[8, 666666661, [[19, 1], [23, 1], [151, 1], [10103, 1]]]
[9, 6666666661, "prime"]
[10, 66666666661, [[7, 1], [9523809523, 1]]]
[11, 666666666661, [[47, 1], [79273, 1], [178931, 1]]]
[12, 6666666666661, [[134489, 1], [49570349, 1]]]
[13, 66666666666661, [[769, 1], [2861, 1], [30301529, 1]]]
[14, 666666666666661, [[13591, 1], [107201, 1], [457571, 1]]]
[15, 6666666666666661, [[547, 1], [12187690432663, 1]]]
[16, 66666666666666661, [[7, 1], [197, 1], [1512169, 1], [31970111, 1]]]
[17, 666666666666666661, "prime"]
[1, 71, "prime"]
[2, 771, [[3, 1], [257, 1]]]
[3, 7771, [[19, 1], [409, 1]]]
[4, 77771, [[83, 1], [937, 1]]]
[5, 777771, [[3, 2], [89, 1], [971, 1]]]
[6, 7777771, [[29, 1], [268199, 1]]]
[7, 77777771, [[17, 1], [4575163, 1]]]
[8, 777777771, [[3, 1], [259259257, 1]]]
[9, 7777777771, [[499, 1], [15586729, 1]]]
[10, 77777777771, [[151, 1], [283, 1], [1820087, 1]]]
[11, 777777777771, [[3, 1], [43, 1], [6029285099, 1]]]
[12, 7777777777771, "prime"]
[13, 77777777777771, [[23, 1], [60953, 1], [55479509, 1]]]
[14, 777777777777771, [[3, 2], [419, 1], [322139, 1], [640259, 1]]]
[15, 7777777777777771, [[997, 1], [7801181321743, 1]]]
[16, 77777777777777771, [[4143479, 1], [18771128749, 1]]]
[17, 777777777777777771, [[3, 1], [1013, 1], [255932141420789, 1]]]
[1, 81, [[3, 4]]]
[2, 881, "prime"]
[3, 8881, [[83, 1], [107, 1]]]
[4, 88881, [[3, 1], [13, 1], [43, 1], [53, 1]]]
[5, 888881, [[7, 1], [23, 1], [5521, 1]]]
[6, 8888881, [[59, 1], [150659, 1]]]
[7, 88888881, [[3, 1], [29629627, 1]]]
[8, 888888881, [[10903, 1], [81527, 1]]]
[9, 8888888881, [[31, 1], [286738351, 1]]]
[10, 88888888881, [[3, 2], [13, 1], [759734093, 1]]]
[11, 888888888881, [[7, 2], [18917, 1], [958957, 1]]]
[12, 8888888888881, [[17, 1], [2357, 1], [221839549, 1]]]
[13, 88888888888881, [[3, 1], [19, 1], [1559454191033, 1]]]
[14, 888888888888881, [[463, 1], [1919846412287, 1]]]
[15, 8888888888888881, [[429427, 1], [20699417803, 1]]]
[16, 88888888888888881, [[3, 1], [13, 1], [2279202279202279, 1]]]
[17, 888888888888888881, [[7, 1], [47, 1], [53, 1], [181, 1], [461, 1], [541, 1], [971, 1], [1163, 1]]]
[1, 91, [[7, 1], [13, 1]]]
[2, 991, "prime"]
[3, 9991, [[97, 1], [103, 1]]]
[4, 99991, "prime"]
[5, 999991, [[17, 1], [59, 1], [997, 1]]]
[6, 9999991, "prime"]
[7, 99999991, [[7, 1], [13, 1], [769, 1], [1429, 1]]]
[8, 999999991, [[67, 1], [14925373, 1]]]
[9, 9999999991, [[19, 2], [277, 1], [100003, 1]]]
[10, 99999999991, [[83, 1], [1289, 1], [934693, 1]]]
[11, 999999999991, [[757, 1], [1321, 1], [1000003, 1]]]
[12, 9999999999991, [[31, 1], [3391, 1], [95128471, 1]]]
[13, 99999999999991, [[7, 1], [13, 1], [769231, 1], [1428571, 1]]]
[14, 999999999999991, [[653, 1], [718321, 1], [2131907, 1]]]
[15, 9999999999999991, [[643, 1], [1297, 1], [77101, 1], [155521, 1]]]
[16, 99999999999999991, [[43, 1], [19387, 1], [119955712351, 1]]]
[17, 999999999999999991, [[23, 1], [71, 1], [307, 1], [2251, 1], [6257, 1], [141623, 1]]]

161103

Google と素数

「PRIME CURIOS!」の裏表紙にも載っているが、
Google という文字は素数379009 と関係がある。

電卓に「379009」と打って、上下ひっくり返すと
「GOOGLE」と読める。

なお、これに関するもう少し数学的な数列として
A178316
がある。