2016年12月25日日曜日

161225(3)

Ruby


Sierpinski number

78557 の場合で素因数分解してみた。

require 'prime'

(1..50).each{|i|
  j = 78557 * 2 ** i + 1
  p [j, j.prime_division]
}

出力結果
[157115, [[5, 1], [7, 1], [67, 2]]]
[314229, [[3, 1], [104743, 1]]]
[628457, [[73, 1], [8609, 1]]]
[1256913, [[3, 2], [7, 1], [71, 1], [281, 1]]]
[2513825, [[5, 2], [193, 1], [521, 1]]]
[5027649, [[3, 1], [11, 1], [131, 1], [1163, 1]]]
[10055297, [[7, 1], [1436471, 1]]]
[20110593, [[3, 1], [541, 1], [12391, 1]]]
[40221185, [[5, 1], [59, 1], [136343, 1]]]
[80442369, [[3, 3], [7, 2], [41, 1], [1483, 1]]]
[160884737, [[13, 1], [523, 1], [23663, 1]]]
[321769473, [[3, 1], [43, 1], [47, 1], [73, 1], [727, 1]]]
[643538945, [[5, 1], [7, 1], [1759, 1], [10453, 1]]]
[1287077889, [[3, 1], [353, 1], [599, 1], [2029, 1]]]
[2574155777, [[19, 1], [135481883, 1]]]
[5148311553, [[3, 2], [7, 1], [11, 1], [7429021, 1]]]
[10296623105, [[5, 1], [2059324621, 1]]]
[20593246209, [[3, 1], [6864415403, 1]]]
[41186492417, [[7, 1], [1583, 1], [3716857, 1]]]
[82372984833, [[3, 1], [53, 1], [173, 1], [311, 1], [9629, 1]]]
[164745969665, [[5, 1], [73, 1], [451358821, 1]]]
[329491939329, [[3, 2], [7, 1], [101, 1], [51782483, 1]]]
[658983878657, [[13, 1], [811, 1], [62504399, 1]]]
[1317967757313, [[3, 1], [439322585771, 1]]]
[2635935514625, [[5, 3], [7, 1], [47563, 1], [63337, 1]]]
[5271871029249, [[3, 1], [11, 1], [29, 1], [43, 1], [128110399, 1]]]
[10543742058497, [[37, 1], [167, 1], [40427, 1], [42209, 1]]]
[21087484116993, [[3, 3], [7, 1], [1873, 1], [59569669, 1]]]
[42174968233985, [[5, 1], [75659, 1], [111486983, 1]]]
[84349936467969, [[3, 1], [41, 1], [73, 1], [859, 1], [10936129, 1]]]
[168699872935937, [[7, 2], [109, 1], [31585821557, 1]]]
[337399745871873, [[3, 1], [463, 2], [524640139, 1]]]
[674799491743745, [[5, 1], [19, 1], [541301, 1], [13122371, 1]]]
[1349598983487489, [[3, 2], [7, 1], [181, 1], [1579, 1], [1861, 1], [40277, 1]]]
[2699197966974977, [[13, 1], [47, 1], [47119, 1], [93755653, 1]]]
[5398395933949953, [[3, 1], [11, 1], [163587755574241, 1]]]
[10796791867899905, [[5, 1], [7, 1], [73597, 1], [4191472039, 1]]]
[21593583735799809, [[3, 1], [55312471, 1], [130130893, 1]]]
[43187167471599617, [[71, 1], [73, 1], [211, 1], [39490356709, 1]]]
[86374334943199233, [[3, 2], [7, 1], [43, 1], [1617437, 1], [19712801, 1]]]
[172748669886398465, [[5, 1], [25499809, 1], [1354901677, 1]]]
[345497339772796929, [[3, 1], [298672481, 1], [385592203, 1]]]
[690994679545593857, [[7, 1], [48844391, 1], [2020979761, 1]]]
[1381989359091187713, [[3, 1], [1301, 1], [354083873710271, 1]]]
[2763978718182375425, [[5, 2], [61, 1], [1812445061103197, 1]]]
[5527957436364750849, [[3, 6], [7, 1], [11, 3], [103, 1], [3433, 1], [2301707, 1]]]
[11055914872729501697, [[13, 2], [20441, 1], [87583, 1], [36541471, 1]]]
[22111829745459003393, [[3, 1], [73, 1], [352489, 1], [286440879323, 1]]]
[44223659490918006785, [[5, 1], [7, 1], [1263533128311943051, 1]]]
[88447318981836013569, [[3, 1], [41, 1], [464591, 1], [1547778355933, 1]]]

161225(2)

Ruby


Carlitz-Riordan q-Catalan number(2)

q に値を入れてみた。

def A(q, n)
  ary = [1]
  (1..n).each{|i| ary << (0..i - 1).inject(0){|s, j| s + q ** j * ary[j] * ary[i - 1 - j]}}
  ary
end

m = 15
n = 10
(-m).upto(m){|i| p [i, A(i, n)]}

出力結果
[-15, [1, 1, -14, -3179, 10723006, 542873722666, -412243647724631324, -4695713624367570470762339, 802306685647013388432209000866246, 2056224284624166189326137448360909656319806, -79048169125296659081612136450818524821473078349801284]]
[-14, [1, 1, -13, -2575, 7060859, 271264155177, -145891830663946653, -1098498082881654016852191, 115796529856845631007039381658635, 170891251717103120492481858367229118002777, -3530792146361605405371444355660685372328514965522829]]
[-13, [1, 1, -12, -2053, 4506516, 128719671458, -47792455652926776, -230685150666052748440241, 14475150636847360774217794485492, 11807825094529414273687354438435675691966, -125216073787815189597144109941517357809545986473192]]
[-12, [1, 1, -11, -1607, 2773837, 57523871473, -14313665005500443, -42740403316561070472599, 1531465840001130532816209452989, 658502282312683496975363165471547847201, -3397727136707136901749274995744498255546402996011]]
[-11, [1, 1, -10, -1231, 1636130, 23957879562, -3858392581773300, -6835385537899011365535, 133202313157282627679850238250, 28553099061411464607955930776882965774, -67326713945643235114071801430954895411640907660]]
[-10, [1, 1, -9, -919, 917271, 9174563561, -917438025443049, -917439860513400673559, 9174396770273536422744011031, 917439695376166450708460281823359721, -917439693541287252616828116888122637934368489]]
[-9, [1, 1, -8, -665, 483544, 3173511682, -187386353065808, -99585165693268026701, 476312561203989614441440600, 20503694883570579788445502041773422, -7943551457092331370323478258038812629918704]]
[-8, [1, 1, -7, -463, 236201, 967959393, -31716161292711, -8314264834902720111, 17436260499054618815283977, 292531943497569504642889779448001, -39262972238604561849241166988994502971207]]
[-7, [1, 1, -6, -307, 104742, 251699498, -4229811552588, -497641562809372379, 409828230340907182689774, 2362579011761419853955236859806, -95338580221916838164306067991935130836]]
[-6, [1, 1, -5, -191, 40915, 53110057, -412878084725, -19264066381851695, 5392667163887921078275, 9057620836725683164283293369, -91279931160615494871228103624209605]]
[-5, [1, 1, -4, -109, 13436, 8425506, -26312994024, -411193252871529, 32123650782112689116, 12548365338592689141400286, -24508500955561451477156078353144]]
[-4, [1, 1, -3, -55, 3429, 885137, -904638963, -3707218743911, 60731665539301365, 3980231929565571675617, -1043385959026442521712292579]]
[-3, [1, 1, -2, -23, 586, 48778, -11759396, -8596478231, 18783386191762, 123275424165263086, -2426183754235085042972]]
[-2, [1, 1, -1, -7, 47, 873, -26433, -1749159, 220526159, 56904690761, -29022490524961]]
[-1, [1, 1, 0, -1, 0, 2, 0, -5, 0, 14, 0]]
[0, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
[1, [1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796]]
[2, [1, 1, 3, 17, 171, 3113, 106419, 7035649, 915028347, 236101213721, 121358941877763]]
[3, [1, 1, 4, 43, 1252, 104098, 25511272, 18649337311, 40823535032644, 267924955577741566, 5274102955963545775864]]
[4, [1, 1, 5, 89, 5885, 1518897, 1558435125, 6386478643785, 104648850228298925, 6858476391221411106209, 1797922152786660462507074405]]
[5, [1, 1, 6, 161, 20466, 12833546, 40130703276, 627122621447281, 48995209411107768186, 19138851672289046707772366, 37380607950584029444762130426196]]
[6, [1, 1, 7, 265, 57799, 75025897, 583552122727, 27227375795690569, 7621977131953256556295, 12802009986716861649949951657, 129014790439200398432389878440405671]]
[7, [1, 1, 8, 407, 140456, 337520898, 5673390747984, 667480099386451779, 549699898523248769128232, 3168911624115201777713785471406, 127877020635106970108300418456422667248]]
[8, [1, 1, 9, 593, 304857, 1249312673, 40939981188777, 10732252327798007281, 22507185898866512901924729, 377607964391970470904956530918721, 50681683810611444451901001718927186370889]]
[9, [1, 1, 10, 829, 606070, 3977651242, 234884294434900, 124827614155955343925, 597046858511123656669455550, 25700910736350654917922270058287454, 9957059456624152426469878400757673046606860]]
[10, [1, 1, 11, 1121, 1123331, 11235577641, 1123580257785051, 1123582505161487376561, 11235827298801257861061293171, 1123582752351801734250808539216885881, 1123582754598967452437582737448130799606015691]]
[11, [1, 1, 12, 1475, 1966284, 28792327202, 4637090716230072, 8214898341126993790759, 160085145151052208703206236460, 34315672899472590258644379240786601502, 80914561747054018478916529869278801828481880296]]
[12, [1, 1, 13, 1897, 3281941, 68060935633, 16935874936243549, 50570285458951728780409, 1812024860211310933873859090917, 779137526211873277333060572704071052641, 4020178500812183819597479479649746538770964386733]]
[13, [1, 1, 14, 2393, 5262362, 150308905098, 55808945055454332, 269379229895845048811001, 16903147725326197024967576562914, 13788416914956150844762214226519339383726, 146219258556891930208266584229687972600181963879364]]
[14, [1, 1, 15, 2969, 8153055, 313224146537, 168460090064098575, 1268426649629557391924665, 133709300241289796232737115885375, 197326722248932275335833526988910108874249, 4076976640513216882869248895614781143147222246805615]]
[15, [1, 1, 16, 3631, 12262096, 620793238786, 471416107658044576, 5369725044142720196094091, 917467875703536347458248015349456, 2351369819214194491379980656123736092564046, 90394554988282798598300931934940056315505771981088736]]

161225

Carlitz-Riordan q-Catalan number(1)

Handbook of Enumerative Combinatorics のDefinition 14.10.19 によれば、
Carlitz-Riordan q-Catalan number C_n(q) は次のように定義される。

C_{n + 1}(q) = Sum_{k = 0..n} q^k * C_k(q) * C_{n - k}(q)
with C_0(q) = 1.

C_n(q) を順番に求めると次のようになる。
C_1(q) = 1 * C_0(q) * C_0(q) = 1,
C_2(q) = 1 * C_0(q) * C_1(q) + q * C_1(q) * C_0(q) = q + 1,
C_3(q) = 1 * C_0(q) * C_2(q) + q * C_1(q) * C_1(q) + q^2 * C_2(q) * C_0(q) = q^3 + q^2 + 2q + 1,

なお、C_1(q), C_2(q), … , C_10(q) までが、
http://www.math.uiuc.edu/~llpku/qtCatalan/qCatalan.html
に載っている。

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
がある。

2016年10月23日日曜日

161023(2)

Ruby


Beatty sequence

オンライン整数列大辞典の
A001951(http://oeis.org/A001951/list)、
A022838(http://oeis.org/A022838/list)、
A022839(http://oeis.org/A022839/list)、
A022840(http://oeis.org/A022840/list)、
A022841(http://oeis.org/A022841/list)、
A022842(http://oeis.org/A022842/list)、
A177102(http://oeis.org/A177102/list)
と比較し、答え合わせしてみる。

def A(m, n)
  l = Math.sqrt(m)
  (1..n).map{|i| (l * i).to_i}
end

ary = [0] + A(2, 71)
# OEIS A001951のデータ
ary0 =
[0,1,2,4,5,7,8,9,11,12,14,15,16,18,19,21,22,24,25,
 26,28,29,31,32,33,35,36,38,39,41,42,43,45,46,48,
 49,50,52,53,55,56,57,59,60,62,63,65,66,67,69,70,
 72,73,74,76,77,79,80,82,83,84,86,87,89,90,91,93,
 94,96,97,98,100]
# 一致の確認
p ary == ary0

ary = A(3, 65)
# OEIS A022838のデータ
ary0 =
[1,3,5,6,8,10,12,13,15,17,19,20,22,24,25,27,29,31,
 32,34,36,38,39,41,43,45,46,48,50,51,53,55,57,58,
 60,62,64,65,67,69,71,72,74,76,77,79,81,83,84,86,
 88,90,91,93,95,96,98,100,102,103,105,107,109,110,
 112]
# 一致の確認
p ary == ary0

ary = A(5, 61)
# OEIS A022839のデータ
ary0 =
[2,4,6,8,11,13,15,17,20,22,24,26,29,31,33,35,38,
 40,42,44,46,49,51,53,55,58,60,62,64,67,69,71,73,
 76,78,80,82,84,87,89,91,93,96,98,100,102,105,107,
 109,111,114,116,118,120,122,125,127,129,131,134,
 136]
# 一致の確認
p ary == ary0

ary = A(6, 60)
# OEIS A022840のデータ
ary0 =
[2,4,7,9,12,14,17,19,22,24,26,29,31,34,36,39,41,
 44,46,48,51,53,56,58,61,63,66,68,71,73,75,78,80,
 83,85,88,90,93,95,97,100,102,105,107,110,112,115,
 117,120,122,124,127,129,132,134,137,139,142,144,
 146]
# 一致の確認
p ary == ary0

ary = A(7, 59)
# OEIS A022841のデータ
ary0 =
[2,5,7,10,13,15,18,21,23,26,29,31,34,37,39,42,44,
 47,50,52,55,58,60,63,66,68,71,74,76,79,82,84,87,
 89,92,95,97,100,103,105,108,111,113,116,119,121,
 124,126,129,132,134,137,140,142,145,148,150,153,
 156]
# 一致の確認
p ary == ary0

ary = A(8, 58)
# OEIS A022842のデータ
ary0 =
[2,5,8,11,14,16,19,22,25,28,31,33,36,39,42,45,48,
 50,53,56,59,62,65,67,70,73,76,79,82,84,87,90,93,
 96,98,101,104,107,110,113,115,118,121,124,127,130,
 132,135,138,141,144,147,149,152,155,158,161,164]
# 一致の確認
p ary == ary0

ary = A(10, 58)
# OEIS A177102のデータ
ary0 =
[3,6,9,12,15,18,22,25,28,31,34,37,41,44,47,50,53,
 56,60,63,66,69,72,75,79,82,85,88,91,94,98,101,104,
 107,110,113,117,120,123,126,129,132,135,139,142,
 145,148,151,154,158,161,164,167,170,173,177,180,
 183]
# 一致の確認
p ary == ary0

出力結果
true
true
true
true
true
true
true

161023

Ruby


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

調べてみた。

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

n = 20
# A000984, A002893
(1..10).each{|m|
  p [m, (0..n).map{|i| (0..i).inject(0){|s, j| s + ncr(i, j) ** 2 * ncr(m * j, j)}}]
}
# A000984, A001850, A069835, A084771, A084772, A098659
(1..10).each{|m|
  p [m, (0..n).map{|i| (0..i).inject(0){|s, j| s + ncr(i, j) ** 2 * m ** j}}]
}

出力結果
[1, [1, 2, 6, 20, 70, 252, 924, 3432, 12870, 48620, 184756, 705432, 2704156, 10400600, 40116600, 155117520, 601080390, 2333606220, 9075135300, 35345263800, 137846528820]]
[2, [1, 3, 15, 93, 639, 4653, 35169, 272835, 2157759, 17319837, 140668065, 1153462995, 9533639025, 79326566595, 663835030335, 5582724468093, 47152425626559, 399769750195965, 3400775573443089, 29016970072920387, 248256043372999089]]
[3, [1, 4, 28, 247, 2428, 25354, 275131, 3066277, 34849852, 402093076, 4694932978, 55352304022, 657845010619, 7871232172366, 94724844421249, 1145633887949572, 13915946040679228, 169683028207454776, 2076037223668708420, 25476829469571084952, 313498615395379684978]]
[4, [1, 5, 45, 509, 6413, 85905, 1196685, 17128053, 250070797, 3706975553, 55615458745, 842564575605, 12868046157101, 197864638432609, 3060110887820661, 47563717531514409, 742517043038854925, 11635942905649118401, 182966892478537864905, 2885764469167617149673, 45638625745153668217113]]
[5, [1, 6, 66, 906, 13826, 224381, 3788886, 65762416, 1164612226, 20943777246, 381233419941, 7007891120346, 129868918270886, 2423167941563336, 45476377273387616, 857760512176294031, 16249675671731558786, 309024593740363735376, 5896867792889553462966, 112867958900372744703396, 2166238063693067293669701]]
[6, [1, 7, 91, 1465, 26155, 496507, 9810325, 199311133, 4132608235, 87027705565, 1855235109091, 39942124752493, 866973187536373, 18947650485816007, 416523970183397125, 9202604015487297415, 204214399806020313835, 4549218602869842700957, 101688395801200492630105, 2279976276268033816122835, 51259967965260439610727955]]
[7, [1, 8, 120, 2213, 45144, 978783, 22092141, 512858410, 12153443800, 292557554486, 7129819294795, 175496459522161, 4355343272113821, 108834629524066727, 2735634324280391598, 69110425611793822488, 1753640324354772175064, 44670154701639034032060, 1141780670618473123095054, 29273567557930766098490652, 752593570757539142786274219]]
[8, [1, 9, 153, 3177, 72793, 1771609, 44887689, 1169986729, 31135903321, 841817012481, 23044963096953, 637220251156377, 17766016320154249, 498766595075902825, 14085186827342507113, 399789323594343683977, 11397717695256167169625, 326204401288401181999009, 9368158282825680500041809, 269866988771745229093165545, 7795428619152692439350967993]]
[9, [1, 10, 190, 4384, 111358, 3002410, 84268864, 2433407140, 71756200702, 2150006083633, 65232989379190, 1999321899802138, 61788594917439424, 1922902935023934640, 60197224303084368340, 1894121816601726592984, 59863806235896437303038, 1899377542598578927057342, 60472091704340846514570913, 1931226660986739070824413560, 61845629098194034391535233158]]
[10, [1, 11, 231, 5861, 163351, 4828761, 148569081, 4703287551, 152064309591, 4996222906871, 166244136125981, 5588183891002581, 189421174150256521, 6465866809260014401, 222027856476278145531, 7663192982386032259611, 265670945050036721562711, 9246435630434736868600701, 322927966828323370815719631, 11312927089732114758878746581, 397415361150797310406640375101]]
[1, [1, 2, 6, 20, 70, 252, 924, 3432, 12870, 48620, 184756, 705432, 2704156, 10400600, 40116600, 155117520, 601080390, 2333606220, 9075135300, 35345263800, 137846528820]]
[2, [1, 3, 13, 63, 321, 1683, 8989, 48639, 265729, 1462563, 8097453, 45046719, 251595969, 1409933619, 7923848253, 44642381823, 252055236609, 1425834724419, 8079317057869, 45849429914943, 260543813797441]]
[3, [1, 4, 22, 136, 886, 5944, 40636, 281488, 1968934, 13875544, 98365972, 700701808, 5011371964, 35961808432, 258805997752, 1867175631136, 13500088649734, 97794850668952, 709626281415076, 5157024231645616, 37528209137458516]]
[4, [1, 5, 33, 245, 1921, 15525, 127905, 1067925, 9004545, 76499525, 653808673, 5614995765, 48416454529, 418895174885, 3634723102113, 31616937184725, 275621102802945, 2407331941640325, 21061836725455905, 184550106298084725, 1619284832403678081]]
[5, [1, 6, 46, 396, 3606, 33876, 324556, 3151896, 30915046, 305543556, 3038019876, 30354866856, 304523343996, 3065412858696, 30946859111256, 313206733667376, 3176825392214406, 32284147284682596, 328643023505612596, 3350574568434600456, 34206348493399513876]]
[6, [1, 7, 61, 595, 6145, 65527, 712909, 7863667, 87615745, 983726695, 11112210781, 126142119187, 1437751935361, 16443380994775, 188609259215725, 2168833084841395, 24994269200292865, 288596644195946695, 3337978523215692925, 38666734085509918675, 448523930340837682945]]
[7, [1, 8, 78, 848, 9766, 116208, 1411404, 17383584, 216294534, 2712176048, 34217133028, 433826815584, 5522845782364, 70550459395424, 903871957376088, 11609390838397248, 149439879433714374, 1927359943975516464, 24900198783317300724, 322185768219251912928, 4174511185830878156916]]
[8, [1, 9, 97, 1161, 14721, 192969, 2582881, 35066313, 481003009, 6649718409, 92497952097, 1293068265993, 18150727906689, 255660741430857, 3611681892224097, 51151047016594761, 726034745427826689, 10325288148885543177, 147093267997642581601, 2098692320836733189001, 29984858605394405293441]]
[9, [1, 10, 118, 1540, 21286, 304300, 4443580, 65830600, 985483270, 14869654300, 225759595348, 3444812388280, 52781007848284, 811510465220920, 12513859077134008, 193460383702061200, 2997463389599395270, 46532910920993515900, 723626591914643806180, 11270311875128088314200, 175774584776587378711156]]
[10, [1, 11, 141, 1991, 29761, 460251, 7272861, 116619591, 1889815041, 30869546411, 507406003501, 8382404928711, 139054141487041, 2314783947556091, 38647630102736061, 646908600416279751, 10852435135445442561, 182414141648658652491, 3071424519623622600141, 51795261103319478048711, 874662233881165045064001]]

2016年10月22日土曜日

161022

Ruby


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

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

2 * binomial(2n - 1, n - 1) = Sum_{k=0..n} binomial(n, k)^2
3 * binomial(2n - 1, n - 1)^2 = Sum_{k=0..n} binomial(n, k)^2 * ((2n, n - 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}
  p [i, k, k == 2 * ncr(2 * i - 1, i - 1)]
}
(1..n).each{|i|
  k = (0..i).inject(0){|s, j| s + ncr(i, j) ** 2 * nhr(2 * i, i - j)}
  p [i, k, k == 3 * ncr(2 * i - 1, i - 1) ** 2]
}

出力結果
[1, 2, true]
[2, 6, true]
[3, 20, true]
[4, 70, true]
[5, 252, true]
[6, 924, true]
[7, 3432, true]
[8, 12870, true]
[9, 48620, true]
[10, 184756, true]
[11, 705432, true]
[12, 2704156, true]
[13, 10400600, true]
[14, 40116600, true]
[15, 155117520, true]
[16, 601080390, true]
[17, 2333606220, true]
[18, 9075135300, true]
[19, 35345263800, true]
[20, 137846528820, true]
[21, 538257874440, true]
[22, 2104098963720, true]
[23, 8233430727600, true]
[24, 32247603683100, true]
[25, 126410606437752, true]
[26, 495918532948104, true]
[27, 1946939425648112, true]
[28, 7648690600760440, true]
[29, 30067266499541040, true]
[30, 118264581564861424, true]
[31, 465428353255261088, true]
[32, 1832624140942590534, true]
[33, 7219428434016265740, true]
[34, 28453041475240576740, true]
[35, 112186277816662845432, true]
[36, 442512540276836779204, true]
[37, 1746130564335626209832, true]
[38, 6892620648693261354600, true]
[39, 27217014869199032015600, true]
[40, 107507208733336176461620, true]
[41, 424784580848791721628840, true]
[42, 1678910486211891090247320, true]
[43, 6637553085023755473070800, true]
[44, 26248505381684851188961800, true]
[45, 103827421287553411369671120, true]
[46, 410795449442059149332177040, true]
[47, 1625701140345170250548615520, true]
[48, 6435067013866298908421603100, true]
[49, 25477612258980856902730428600, true]
[50, 100891344545564193334812497256, true]
[1, 3, true]
[2, 27, true]
[3, 300, true]
[4, 3675, true]
[5, 47628, true]
[6, 640332, true]
[7, 8833968, true]
[8, 124227675, true]
[9, 1772928300, true]
[10, 25601084652, true]
[11, 373225729968, true]
[12, 5484344754252, true]
[13, 81129360270000, true]
[14, 1207006196670000, true]
[15, 18046083758212800, true]
[16, 270973226431914075, true]
[17, 4084288492517016300, true]
[18, 61768560534979567500, true]
[19, 936965754818692830000, true]
[20, 14251249130792317944300, true]
[21, 217291154547500103985200, true]
[22, 3320424336845683407178800, true]
[23, 50842036159640899051320000, true]
[24, 779930957476713513919207500, true]
[25, 11984731064970170540288110128, true]
[26, 184451393491049784469167896112, true]
[27, 2842929845357250175988436873408, true]
[28, 43876850929620825420229701745200, true]
[29, 678030386065817178550897983211200, true]
[30, 10489883439533820437936337242480832, true]
[31, 162467664010428078458110763285207808, true]
[32, 2518883431474175950782193826089803867, true]
[33, 39090110185411913285784275170723310700, true]
[34, 607181676893820341660503845125871770700, true]
[35, 9439320697768093540067457327818042449968, true]
[36, 146863011226694319553950778980033185155212, true]
[37, 2286728960780289346685182472416645270101168, true]
[38, 35631164555094536219125073150536370205870000, true]
[39, 555574423792650901362768070242025348982520000, true]
[40, 8668349947224835688512588815951200507499768300, true]
[41, 135331455095162753009711112960037659797039809200, true]
[42, 2114055315534186406992970197690928431614075386800, true]
[43, 33042833217381280239100507687002613127986359480000, true]
[44, 516738026079253946549073848518435493317621394430000, true]
[45, 8085100058417324465412768304423758108778032721540800, true]
[46, 126564675961727530998266794572652440262364629427371200, true]
[47, 1982178148289690204805811690826384709514154241588652800, true]
[48, 31057565604712593920785504357132156255842434080447207500, true]
[49, 486831544814228731696244582251156115303992440254773470000, true]
[50, 7634297553158809278967829041029729737751087851099255647152, true]

2016年10月16日日曜日

161016

Ruby


Numbers n such that m^(n+1) == m (mod n) holds for all m

 n = 1, 2, 6, 42, 1806 のとき、(m^(n + 1) - m) / n を出力してみた。

# A002378, A027480, A108495, A108496
[1, 2, 6, 42].each{|i| p (1..2 * i).map{|j| (j ** (i + 1) - j) / i}}

i = 1806
p (1..10).map{|j| (j ** (i + 1) - j) / i}

出力結果
[0, 2]
[0, 3, 12, 30]
[0, 21, 364, 2730, 13020, 46655, 137256, 349524, 797160, 1666665, 3247860, 5971966]
[0, 209430786243, 7815642080822311372, 1842172677508006361457030, 27068294695622864223661876860, 68747114771196346634599779308105, 51995580380757061883555053636996008, 16203922234330403022065457496750867212, 2565538967691861383272015720010795808360, 238095238095238095238095238095238095238095, 14342873609819569488961603067249476461912660, 604706016535852711096905142634760389224113298, 18893606186707513969238956385191055331615851652, 457357961772832375830358252720995759633166849365, 8885356329326795471469527650957128831318446568080, 142531207297794722689578406542997505916921421334040, 1932210015268395856950534844654492198437206227033488, 22566719411917097464870152170381846044346375669135067, 230757354072215883638675726231563440086105155731675420, 2094307862430476190476190476190476190476190476190476190, 17067911533706202630670756225783231663404873253141292620, 126161250477745183571741733219470930077771090807275001953, 853193736165100494703380849458872428938666374099616987832, 5319050372538209496338726654833686823964257138146991556900, 30773088264621565285394668603793260921347176744824364071800, 166189917543243862866625469815943088867361828212443069708775, 842156041267041655108633775815179904691300828019702936364068, 4022963176201284066265844816691977830766855321467832366705322, 18191336995256479068401689883336293278514718377959409176564180, 78156420808223113720714285714285714285714285714285714285714285, 320113171732784833789860056523748528224766673812386431282702880, 1253717757959014127356166996234171813320179707149394181598940208, 4708148194882508736483908999243374884691108872703027336359482912, 16995899032742749937632136084478944075315083376059154012667067635, 59112131089883703093113415021657611040003151477624972661336263020, 198498963153289802290916991914666902717592881551493593523136720310, 644799726347573953356736997529970229853127009750144915077689150748, 2029763151977798947798740428623082082547869835027523342602292665977, 6201957869995272422391501015673916564141989383104838321619530237640, 18421726775080063614570300952380952380952380952380952380952380952380, 53266792787942592138981526763318691816959046761946079082394211906440, 150130937545296572356771972164254457814047970568738777235893533016063, 412946984929292083807232887828857908531144346166954570311375409499892, 1109726095000330115608877494140896123098582162619376378406340349669570, 2916680122884669553141083861204146851787543580160542790378843035016740, 7504771469273413798511497152631923464863039624422925125359251349856645, 18921632394102580059691100348930550968092385846651928962658896037156528, 46786861866656207456607155652186450387010751449653007928680606534505032, 113548695923534284914421835282373872761884976728793348587042763651258800, 270682946956228642236618768601190476190476190476190476190476190476190475, 634261399981355807743562388587558125488777230528612232456930414963866300, 1461821974063450228254443935211746726057043423173044479305808953367917518, 3315989162048185987890456702745318434758631152523279149600227567657601772, 7407682878199337597667928871664012146699333697622721649292992451728450705, 16305959445412065052734764171020147457412190603809860823232503164382207960, 35386358322783847583370650274822471042458964390846272985107742970799805780, 75747709251733017049047580436349958730454042402369272737141288698931744408, 160012692408609760728870512722049914882222765850594979079834512815370110487, 333723823137376206801292634143055279991954652806130864534551869173044990660, 687471147711963466345997793081051428571428571428571428571428571428571428570, 1399373402257098788850805439082443706897186965738684241646762583312950745460, 2815745236195619864846837102973360898157579880970033893526241696266459932573, 5602660879812640282336016308580310585418280996755276751869514211713330751552, 11027818022601542421292474762732181700311427111013387051376912762658393299040, 21479543405243377912073533917908952539182623300245636311869713522139049711680, 41413309484527226031375710580716306174804139356641135677149124218645428455715, 79061896127114104527104659045107524152773035759474157972088596393643375877388, 149497508888060199246307459402667126792378867703167663812264397275180939770342, 280066788433570662957771773456296927305630005426892284747583195071100611596220, 519955803807570618835550536369960081666666666666666666666666666666666666666665, 956884907083219600889061041624563334199499957812693194967849791511264469906920, 1746015344708175330610778845438342696766822297817224651029277968531108622949228, 3159611564958945157634617065899422845381210533792003124867224230125219524312232, 5671718373647523140830443162960803670165060383152426069031674269123497162902575, 10101480631109092736857664534633305301347771283053995310703092919928686959402900, 17853985497846833559262825125742919383586146910019846177491866695671301756894450, 31322173582157330273979506449352652845587042361820799006464345217822880756118468, 54552998344293406164545935299932682328519742875268086846921548033128235838172597, 94344293172107451428551861007647472386333618718484831635287634984625948754038480, 162039222343304030220654574967508672121904761904761904761904761904761904761904760, 276443588179307714196042007681086513200023230352498518387882094573842319851913680, 468539664357421253350179520914641948220092260380453083083392674852572783600455483, 789057553801682022732132091434756704627193813315535782600377058708261048054046812, 1320565692159728224037341725849385444420705654718266507663753219362593019172749310]
[0, 5063891814962052419784902203182257092458546990812068193643823130998757442290879551090213560145379936219249849628770758640017859890634403635603166131594491340865459891056316808940007004029905372464285973289672834067858679623859811439065402976733698976008987411881046320614115593736321638348775494495923687433796793065541185787720835270163640626857845357548861135449920132237795797141592398850073610146697925515800346174644364330327511805759042954734479197990703306851767836049532751172043812288803557808640782426715804157466547638003265547721, 7968737712574573612613374788545446667777309316310405501861813181409603416495252369145778807919731041050193822483386001160860117317714586642815991525807898214922488951398363373948070863204900853151266957627262479239599135907772557464743857420938903995196253726934019420658613460574310410447761398943637103918003094484250255770503777623339056930504521819242549344221799425428944245292154009274275745641326435213422116590777384652424433235189328929144592563243765822655188584764490480166458749180820578361763394250468226594857725621434706360163453513369584302984765145921548490846963896113664986878535240864319495741711060849305584540264356751671757801781854649264414551561777268066413597414942135224506339212615374527521118638507815705866917769820920609035024463405357268761942625839296502680714315004194029956554054360190533179540354913817342608710374037893164, 46311258566433242834001354376132187695983265267551440585728086998350048764303069328483872249314978951339019719491509284310218504030483169387131134468981002332910699187494943218973853531222437323491705710751640472921550598728124857044244386323993592118528871844507942874809847258222921705404467411340217499553946444785202940557126890635367573685946301035040252264505911761494231824533775617765447430358315742195691448512555128593033635022388134941007466594488733510190800329444899747398496089543028167096949841186375877826371988821306066574295826014467244085168633166226103847701408736621815265056597351157905892058494042527048592404528288284905202725882297648464997870013140487516084622845589585359858364980308012074821516723160234062401978731303184909567417026585889393355032598975998850196206837218437089484511695259891097142224441930365213772583546377410805523513889061683957631309242293898973532066421564265714102069150614366458308891159284333720028666499751006659549275806975429519423309015355482246785833109870960729697038435335104325341441733592252538380757029805592152760867730, 605452517300830983872974517224456567282963692348707074927224786019203665786765930530806766188481147880718391174170580049556711119639651838280024615475030491864681467316746916552265309267026179940846983937136467348060039763871333467153631733431322717804939850464362924525948848076343596879466248418491417911327398109498942602557133701052073119916844562114760117495026533732291117774483230453917094802574420239715120213662617764310440939711710821107585092706091674659160039945788119890154051212712276445512618784855354684737874730674659414666317667734707760714213539142809636733467976742515284565830536890517903226135678557146460818682325828535426706911785195083456801586705876333812334942321066316212720654966661544258435168577865744435221952224075986687798427399455121204684104471170365814990985823794748058449790162232179058792428861215937028481343910423199385396041952087684340428826911147000277101813961003700951178360463614612009085547523505204485564358719769640431722362104831325265005724302323220843226905987107931872267708256384518114654450611340577662945262503551325391036371312720579916651411694183884623569090475677316774311227511927673801368695822381804429562864646649717839300191739793877723622551014805701642278300942053367304943134783378339157020, 72877203174984175714323132522620255870929212075741833355765752386183951810263054259737617557575692863008927602558269534010369661173783439130861574078782865958347178479610036391188312547205785426053817372972988342086268681251944422404865116879169656555865177839469744044812245632522881348695457491684135729778441534492210353073975368944080072180511931755352756605839204638450123153676629903935250756459148838544462585240633967007145059238169316272801188545002241507574491016602198283476561530583702096974272113006896852697658057623933588687014538690164162119760608419660972061467550843980170148626815347192837614487018961643749603854280915790861826752460563186959602386800302758140739497972517325824248735419119966736912704534624453027487116625638328447564783906369191928302284971286430844702480427136707653278484610054013277772998222356764851732734249626893761880737113349188061557609251157794019463821982958266025686591606006973921881517160006588859042874566300335758746052153813932049445499828212227859027488398941798010131210017921545200546606454987206190095102265590304574340912125875352762569202017912461176645360720358340905280470229099093350971002302793971686366350725336772081701449731107375305962178213343335330844763282557624635987475288870877613909816964279752544847019867274436418118670220335751011943377926919674350490596328057674325515271011334952740062170400408044697211507985108945144155, 684605777319032573399618326216271533424390020132054858355505327056143519291469884021943660078934337409427126892664360501747276049742869725621139843497164175159869404428100546952230264004356096986979349764116935711784087020272283777981363931219530704937875655693373939496935803363791240911684099012119886891392936228086684231617244963038217596432988617763415528977798111007175716427134807771466696228531573968915748761877142801291709256367620122993715768529454004659251454329707468756223662533299254847561871461319958929951562127899416666783115815077817659869927332821540077246726350472882339813914437520450772604821005705053789627667810348450412215778215362933448265473086306977056893216300119228993758404601352104139407695708675053382447356452706701621574231250645948770374078266936853647016849084051493231152905840488818732358139593488646840313133942405020225979942358913635055321681323090441238016713606762142039846225394003178201865438508931959835534100834586309101357521148282161475870403928146625074167826108598643750786426493739239117835623652655218602866518354659332853600351009306040023776637087779402739692418496236928900165314862242762022573080883771488519286205833473504539423635830457106533377645614191652859183454533148812739031060326989138129739066161594456521866342536180559475954086983820947209865585201727255663826724095767739412811313116855476396592423630352975597758995174248628807797066331475967853499044788614405289151829299730803481293680132819746841448444792416673432975290477772762846740915027740456, 423534456970445472668641172964749303766462146408658318300735399110392799013445112127218231307898874626347813401376909347693365058566102267182189016932259846240243346642398450372383213375355119132541021819291694546534756096252410900945312946754783603382161390157587749105062597697675559478181046372046626789783613949068768952877986283217993330216719009750045777129374938240737931031036386875028437604273534191301683664296282685850022483084125133417761073114915203982156703761776379792347836838742647250130034536857397760855462903175437387785377499326259974557649446805771798372106978581030937527294913546531706103121696396423666399450999326050674727751028841429497548666919078582779346504690421495534807524356794316921421588000920357289449818706627721842917047537188539631845558252088378890232863978337973497652360861460619489895095565892208726373944324139249821354604109851091807417033697116674305744615108731840748160739864905821618296269772627337143908441133592300986012487606622134572802528346306185931896666362163415944210046907970355187432771414139443122141011340943205875037258269949056534092698377151333981999787199380673311632668297062504453241822976619333120279214483131554203478488897528048691827724295708792383118930715142922736764182583539613012048042188229325635622986043309205344203574436280321146874102184453754623832218069158768331903993869141964461565029247865802563674097328000471144819393544842419324372465703694323745972809964864305408098500597305369026125543192327617145313662623528515122878400343526617545213522838423158493240638197871566884793806417811586549119309743086889255186442017628210441791785580324, 114682410001645695480990253648075242443203326335194421149498034530268772020754170388727801476130961078999098923717079108811270749028519294102483180441822356303336877591722552228714385012178215883212554518198042529530592355295254097986167038128270125162768645987961496357748163467204594541301288994457844481947133908292570433698934790061826757666949083339030493822320141917718626975091375253585658880155108161880107161534989975312323528025757869788712300802213574165193305275239528784717049823393208485381036603519917187998717127246374009308816475465424586180643653669417659609028118652331557788763171502554889265436755621868505180087971072722196092666693160026561290053834235700535526781065475522994774618229234423306242780555407594896826093815565802515213503767056261005673654443070503656430291399398748631927230380886384816971492802603350276354534347879964720785149559671128346229909500239349568131018389410075731898860280130139987211091486783591787490408526689163202407342673773370861671575474597469734865378966796815625568547229184091351419192417155669668986841435726546790103908811842526220820750518628905130474222919992339159668687366371251965063772437178872959230222422475483861799508089813635946637974384444241845486324640187165245171366461429155929298101952013138496338295418763291536484434573170021966408330878360518783547960169035223253637729070609617354961906645750495143954179235489690854915744077518904298248636451838581190704782028986266463943549011793709212464436534329445821735732195091919092144010482408022453818146936729929266036516037790109265295293750677776174465999891220000342211650047176409240159861063194290041864362488667169532282165053404412021890041422297993354087672781972824351292607770557160, 5537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165005537098560354374307862679955703211517165]