2021年7月31日土曜日

210731

Ruby


A278559

p(25*n+24) を出力してみた。

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

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

n = 10
a = [5 ** 2 * 63, 5 ** 5 * 52, 5 ** 7 * 63, 5 ** 10 * 6, 5 ** 12]
ary = (0..4).map{|i| p [0] * i + A([[5, 6 * (i + 1)], [1, -6 * (i + 1) - 1]], n)}
(0..n).each{|i|
  print "#{(0..4).inject(0){|s, j| s + a[j] * ary[j][i]}} = "
  (0..4).each{|j|
    print " + " if j > 0
    print "#{a[j]} * #{ary[j][i]}"
  }
  puts
}

出力結果
[1, 7, 35, 140, 490, 1541, 4480, 12195, 31465, 77525, 183626]
[0, 1, 13, 104, 637, 3276, 14808, 60541, 228124, 803010, 2667054, 8422715]
[0, 0, 1, 19, 209, 1710, 11495, 66862, 347339, 1645875, 7221520, 29668595, 115116233]
[0, 0, 0, 1, 25, 350, 3575, 29575, 209381, 1312075, 7443825, 38854075, 188836375, 862496902]
[0, 0, 0, 0, 1, 31, 527, 6448, 63240, 526443, 3852742, 25380847, 153068700, 855816380, 4479330091]
1575 = 1575 * 1 + 162500 * 0 + 4921875 * 0 + 58593750 * 0 + 244140625 * 0
173525 = 1575 * 7 + 162500 * 1 + 4921875 * 0 + 58593750 * 0 + 244140625 * 0
7089500 = 1575 * 35 + 162500 * 13 + 4921875 * 1 + 58593750 * 0 + 244140625 * 0
169229875 = 1575 * 140 + 162500 * 104 + 4921875 * 19 + 58593750 * 1 + 244140625 * 0
2841940500 = 1575 * 490 + 162500 * 637 + 4921875 * 209 + 58593750 * 25 + 244140625 * 1
37027355200 = 1575 * 1541 + 162500 * 3276 + 4921875 * 1710 + 58593750 * 350 + 244140625 * 31
397125074750 = 1575 * 4480 + 162500 * 14808 + 4921875 * 11495 + 58593750 * 3575 + 244140625 * 527
3646072432125 = 1575 * 12195 + 162500 * 60541 + 4921875 * 66862 + 58593750 * 29575 + 244140625 * 6448
29454549941750 = 1575 * 31465 + 162500 * 228124 + 4921875 * 347339 + 58593750 * 209381 + 244140625 * 63240
213636919820625 = 1575 * 77525 + 162500 * 803010 + 4921875 * 1645875 + 58593750 * 1312075 + 244140625 * 526443
1412749565173450 = 1575 * 183626 + 162500 * 2667054 + 4921875 * 7221520 + 58593750 * 7443825 + 244140625 * 3852742

2021年6月26日土曜日

210626

OEISに載っている変わった数列

A027440 は何と「TV channels in Tokyo」である。
REFERENCES には
From a Tokyo kindergarten entrance examination.
と書いてある。
知識問題は、流石にプログラミングで答えが出せない。

2021年5月18日火曜日

210518

PARI


Sum_{n = 1..24} n^2 = 70^2(6)

n-gonal number であり、n-gonal pyramidal number である数について
比較的小さなもの(ただし0, 1 を除く)を出力してみた。

a(n) = for(k=2, n, if(ispolygonal(m=k*(k+1)*((n-2)*k-n+5)/6, n), print(n, ": ", [k, m])));
for(n=3, 100000, a(n))

出力結果
3: [3, 10]
10: [5, 175]
14: [6, 441]
30: [17, 23001]
43: [33, 245905]
50: [34, 314755]
88: [15, 48280]
276: [26, 801801]
322: [28, 1169686]
823: [113, 197427385]
2378: [103, 432684460]
2386: [420, 29437553530]
9525: [2169, 16195753597485]
16420: [6936, 913053565546276]
19605: [1191, 5519583702676]
31265: [259, 90525801730]
31368: [14858, 17147031694579605]
83135: [1310, 31148407558500]

2021年5月17日月曜日

210517

PARI


Sum_{n = 1..24} n^2 = 70^2(5)

n-gonal number であり、n-gonal pyramidal number である数を出力してみた。

a(n) = print1(n, ": "); for(k=0, 1e6, if(ispolygonal(m=k*(k+1)*((n-2)*k-n+5)/6, n), print1(m, ", "))); print;
for(n=3, 1000, a(n))

出力結果
3: 0, 1, 10, 120, 1540, 7140, 
4: 0, 1, 4900, 
5: 0, 1, 
6: 0, 1, 946, 
7: 0, 1, 
8: 0, 1, 1045, 5985, 123395663059845, 774611255177760, 
9: 0, 1, 
10: 0, 1, 175, 368050005576, 
11: 0, 1, 23725, 1519937678700, 7248070597636, 
12: 0, 1, 
13: 0, 1, 
14: 0, 1, 441, 195661, 
15: 0, 1, 
16: 0, 1, 
17: 0, 1, 975061, 1580765544996, 
18: 0, 1, 
19: 0, 1, 
20: 0, 1, 3578401, 
21: 0, 1, 
22: 0, 1, 
23: 0, 1, 10680265, 
24: 0, 1, 
25: 0, 1, 
26: 0, 1, 27453385, 
27: 0, 1, 
28: 0, 1, 
29: 0, 1, 63016921, 
30: 0, 1, 23001, 
31: 0, 1, 
32: 0, 1, 132361021, 
33: 0, 1, 
34: 0, 1, 
35: 0, 1, 258815701, 
36: 0, 1, 
37: 0, 1, 
38: 0, 1, 477132085, 
39: 0, 1, 
40: 0, 1, 
41: 0, 1, 55202400, 837244045, 
42: 0, 1, 
43: 0, 1, 245905, 
44: 0, 1, 1408778281, 
45: 0, 1, 
46: 0, 1, 
47: 0, 1, 2286380881, 
48: 0, 1, 
49: 0, 1, 
50: 0, 1, 314755, 3595928401, 
51: 0, 1, 
52: 0, 1, 
53: 0, 1, 5501691505, 
54: 0, 1, 
55: 0, 1, 
56: 0, 1, 8214519205, 
57: 0, 1, 
58: 0, 1, 
59: 0, 1, 12001111741, 
60: 0, 1, 1785508245600, 
61: 0, 1, 
62: 0, 1, 17194450141, 
63: 0, 1, 
64: 0, 1, 
65: 0, 1, 24205450501, 
66: 0, 1, 
67: 0, 1, 
68: 0, 1, 33535911025, 
69: 0, 1, 
70: 0, 1, 
71: 0, 1, 45792819865, 
72: 0, 1, 
73: 0, 1, 
74: 0, 1, 61704091801, 
75: 0, 1, 
76: 0, 1, 
77: 0, 1, 82135801801, 
78: 0, 1, 
79: 0, 1, 
80: 0, 1, 108110983501, 
81: 0, 1, 
82: 0, 1, 
83: 0, 1, 140830060645, 
84: 0, 1, 
85: 0, 1, 
86: 0, 1, 181692979525, 
87: 0, 1, 
88: 0, 1, 48280, 
89: 0, 1, 232323110461, 
90: 0, 1, 
91: 0, 1, 
92: 0, 1, 294592986361, 
93: 0, 1, 
94: 0, 1, 
95: 0, 1, 370651946401, 
96: 0, 1, 
97: 0, 1, 
98: 0, 1, 462955752865, 
99: 0, 1, 
100: 0, 1, 
101: 0, 1, 574298249185, 
102: 0, 1, 
103: 0, 1, 
104: 0, 1, 707845127221, 
105: 0, 1, 
106: 0, 1, 
107: 0, 1, 867169871821, 
108: 0, 1, 
109: 0, 1, 
110: 0, 1, 1056291950701, 
111: 0, 1, 
112: 0, 1, 
113: 0, 1, 1279717317685, 
114: 0, 1, 
115: 0, 1, 
116: 0, 1, 1542481297345, 
117: 0, 1, 
118: 0, 1, 
119: 0, 1, 1850193919081, 
120: 0, 1, 
121: 0, 1, 
122: 0, 1, 2209087768681, 
123: 0, 1, 
124: 0, 1, 
125: 0, 1, 2626068425401, 
126: 0, 1, 
127: 0, 1, 
128: 0, 1, 3108767552605, 
129: 0, 1, 
130: 0, 1, 
131: 0, 1, 3665598710005, 
132: 0, 1, 
133: 0, 1, 
134: 0, 1, 4305815955541, 
135: 0, 1, 
136: 0, 1, 
137: 0, 1, 5039575304941, 
138: 0, 1, 
139: 0, 1, 
140: 0, 1, 5877999117001, 
141: 0, 1, 
142: 0, 1, 
143: 0, 1, 6833243472625, 
144: 0, 1, 
145: 0, 1, 101337426, 
146: 0, 1, 7918568615665, 
147: 0, 1, 
148: 0, 1, 
149: 0, 1, 9148412523601, 
150: 0, 1, 
151: 0, 1, 
152: 0, 1, 10538467676101, 
153: 0, 1, 
154: 0, 1, 
155: 0, 1, 12105761089501, 
156: 0, 1, 
157: 0, 1, 
158: 0, 1, 13868737685245, 
159: 0, 1, 
160: 0, 1, 
161: 0, 1, 15847347060325, 
162: 0, 1, 
163: 0, 1, 
164: 0, 1, 18063133727761, 
165: 0, 1, 
166: 0, 1, 
167: 0, 1, 20539330895161, 
168: 0, 1, 
169: 0, 1, 
170: 0, 1, 23300957849401, 
171: 0, 1, 
172: 0, 1, 
173: 0, 1, 26374921015465, 
174: 0, 1, 
175: 0, 1, 
176: 0, 1, 29790118757485, 
177: 0, 1, 
178: 0, 1, 
179: 0, 1, 33577549990021, 
180: 0, 1, 
181: 0, 1, 
182: 0, 1, 37770426667621, 
183: 0, 1, 
184: 0, 1, 
185: 0, 1, 42404290220701, 
186: 0, 1, 
187: 0, 1, 
188: 0, 1, 47517132005785, 
189: 0, 1, 
190: 0, 1, 
191: 0, 1, 53149517838145, 
192: 0, 1, 
193: 0, 1, 
194: 0, 1, 59344716674881, 
195: 0, 1, 
196: 0, 1, 
197: 0, 1, 66148833516481, 
198: 0, 1, 
199: 0, 1, 
200: 0, 1, 73610946594901, 
201: 0, 1, 
202: 0, 1, 
203: 0, 1, 81783248916205, 
204: 0, 1, 
205: 0, 1, 
206: 0, 1, 90721194225805, 
207: 0, 1, 
208: 0, 1, 
209: 0, 1, 100483647464341, 
210: 0, 1, 
211: 0, 1, 
212: 0, 1, 111133039782241, 
213: 0, 1, 
214: 0, 1, 
215: 0, 1, 122735528181001, 
216: 0, 1, 
217: 0, 1, 
218: 0, 1, 135361159849225, 
219: 0, 1, 
220: 0, 1, 
221: 0, 1, 149084041261465, 
222: 0, 1, 
223: 0, 1, 
224: 0, 1, 163982512107901, 
225: 0, 1, 
226: 0, 1, 
227: 0, 1, 180139324122901, 
228: 0, 1, 
229: 0, 1, 
230: 0, 1, 197641824880501, 
231: 0, 1, 
232: 0, 1, 
233: 0, 1, 216582146624845, 
234: 0, 1, 
235: 0, 1, 
236: 0, 1, 237057400203625, 
237: 0, 1, 
238: 0, 1, 
239: 0, 1, 259169874172561, 
240: 0, 1, 
241: 0, 1, 
242: 0, 1, 283027239138961, 
243: 0, 1, 
244: 0, 1, 
245: 0, 1, 308742757412401, 
246: 0, 1, 
247: 0, 1, 
248: 0, 1, 336435498030565, 
249: 0, 1, 
250: 0, 1, 
251: 0, 1, 366230557228285, 
252: 0, 1, 
253: 0, 1, 
254: 0, 1, 398259284417821, 
255: 0, 1, 
256: 0, 1, 
257: 0, 1, 432659513748421, 
258: 0, 1, 
259: 0, 1, 
260: 0, 1, 469575801313201, 
261: 0, 1, 
262: 0, 1, 
263: 0, 1, 509159668071385, 
264: 0, 1, 
265: 0, 1, 
266: 0, 1, 551569848553945, 
267: 0, 1, 
268: 0, 1, 
269: 0, 1, 596972545420681, 
270: 0, 1, 
271: 0, 1, 
272: 0, 1, 645541689936781, 
273: 0, 1, 
274: 0, 1, 
275: 0, 1, 697459208436901, 
276: 0, 1, 801801, 
277: 0, 1, 
278: 0, 1, 752915294844805, 
279: 0, 1, 
280: 0, 1, 
281: 0, 1, 812108689316605, 
282: 0, 1, 
283: 0, 1, 
284: 0, 1, 875246963075641, 
285: 0, 1, 
286: 0, 1, 
287: 0, 1, 942546809507041, 
288: 0, 1, 
289: 0, 1, 
290: 0, 1, 1014234341580001, 
291: 0, 1, 
292: 0, 1, 
293: 0, 1, 1090545395665825, 
294: 0, 1, 
295: 0, 1, 
296: 0, 1, 1171725841819765, 
297: 0, 1, 
298: 0, 1, 
299: 0, 1, 1258031900594701, 
300: 0, 1, 
301: 0, 1, 
302: 0, 1, 1349730466454701, 
303: 0, 1, 
304: 0, 1, 
305: 0, 1, 1447099437856501, 
306: 0, 1, 
307: 0, 1, 
308: 0, 1, 1550428054066945, 
309: 0, 1, 
310: 0, 1, 
311: 0, 1, 1660017238784425, 
312: 0, 1, 
313: 0, 1, 
314: 0, 1, 1776179950632361, 
315: 0, 1, 
316: 0, 1, 
317: 0, 1, 1899241540592761, 
318: 0, 1, 
319: 0, 1, 
320: 0, 1, 2029540116447901, 
321: 0, 1, 
322: 0, 1, 1169686, 
323: 0, 1, 2167426914298165, 
324: 0, 1, 
325: 0, 1, 
326: 0, 1, 2313266677224085, 
327: 0, 1, 
328: 0, 1, 
329: 0, 1, 2467438041160621, 
330: 0, 1, 
331: 0, 1, 
332: 0, 1, 2630333928051721, 
333: 0, 1, 
334: 0, 1, 
335: 0, 1, 2802361946353201, 
336: 0, 1, 
337: 0, 1, 
338: 0, 1, 2983944798951985, 
339: 0, 1, 
340: 0, 1, 
341: 0, 1, 3175520698569745, 
342: 0, 1, 
343: 0, 1, 
344: 0, 1, 3377543790718981, 
345: 0, 1, 
346: 0, 1, 
347: 0, 1, 3590484584279581, 
348: 0, 1, 
349: 0, 1, 
350: 0, 1, 3814830389763901, 
351: 0, 1, 
352: 0, 1, 
353: 0, 1, 4051085765338405, 
354: 0, 1, 
355: 0, 1, 
356: 0, 1, 4299772970669905, 
357: 0, 1, 
358: 0, 1, 
359: 0, 1, 4561432428664441, 
360: 0, 1, 
361: 0, 1, 
362: 0, 1, 4836623195166841, 
363: 0, 1, 
364: 0, 1, 
365: 0, 1, 5125923436689001, 
366: 0, 1, 
367: 0, 1, 
368: 0, 1, 5429930916234925, 
369: 0, 1, 
370: 0, 1, 
371: 0, 1, 5749263487290565, 
372: 0, 1, 
373: 0, 1, 
374: 0, 1, 15064335000, 6084559596046501, 
375: 0, 1, 
376: 0, 1, 
377: 0, 1, 6436478791921501, 
378: 0, 1, 
379: 0, 1, 
380: 0, 1, 6805702246455001, 
381: 0, 1, 
382: 0, 1, 
383: 0, 1, 7192933280636545, 
384: 0, 1, 
385: 0, 1, 
386: 0, 1, 7598897900740225, 
387: 0, 1, 
388: 0, 1, 
389: 0, 1, 8024345342732161, 
390: 0, 1, 
391: 0, 1, 
392: 0, 1, 8470048625319061, 
393: 0, 1, 
394: 0, 1, 
395: 0, 1, 8936805111705901, 
396: 0, 1, 
397: 0, 1, 
398: 0, 1, 9425437080130765, 
399: 0, 1, 
400: 0, 1, 
401: 0, 1, 9936792303244885, 
402: 0, 1, 
403: 0, 1, 
404: 0, 1, 10471744636405921, 
405: 0, 1, 
406: 0, 1, 
407: 0, 1, 11031194614952521, 
408: 0, 1, 
409: 0, 1, 
410: 0, 1, 11616070060528201, 
411: 0, 1, 
412: 0, 1, 
413: 0, 1, 12227326696522585, 
414: 0, 1, 
415: 0, 1, 
416: 0, 1, 12865948772698045, 
417: 0, 1, 
418: 0, 1, 
419: 0, 1, 13532949699069781, 
420: 0, 1, 
421: 0, 1, 
422: 0, 1, 14229372689107381, 
423: 0, 1, 
424: 0, 1, 
425: 0, 1, 14956291412325901, 
426: 0, 1, 
427: 0, 1, 
428: 0, 1, 15714810656334505, 
429: 0, 1, 
430: 0, 1, 
431: 0, 1, 16506066998410705, 
432: 0, 1, 
433: 0, 1, 
434: 0, 1, 17331229486668241, 
435: 0, 1, 
436: 0, 1, 
437: 0, 1, 18191500330886641, 
438: 0, 1, 
439: 0, 1, 
440: 0, 1, 19088115603070501, 
441: 0, 1, 
442: 0, 1, 
443: 0, 1, 20022345947806525, 
444: 0, 1, 
445: 0, 1, 
446: 0, 1, 20995497302486365, 
447: 0, 1, 
448: 0, 1, 
449: 0, 1, 22008911627463301, 
450: 0, 1, 
451: 0, 1, 
452: 0, 1, 23063967646210801, 
453: 0, 1, 
454: 0, 1, 
455: 0, 1, 24162081595551001, 
456: 0, 1, 
457: 0, 1, 
458: 0, 1, 25304707986021145, 
459: 0, 1, 
460: 0, 1, 
461: 0, 1, 26493340372446025, 
462: 0, 1, 
463: 0, 1, 
464: 0, 1, 27729512134784461, 
465: 0, 1, 
466: 0, 1, 
467: 0, 1, 29014797269317861, 
468: 0, 1, 
469: 0, 1, 
470: 0, 1, 30350811190248901, 
471: 0, 1, 
472: 0, 1, 
473: 0, 1, 31739211541778365, 
474: 0, 1, 
475: 0, 1, 
476: 0, 1, 33181699020728185, 
477: 0, 1, 
478: 0, 1, 
479: 0, 1, 34680018209778721, 
480: 0, 1, 
481: 0, 1, 
482: 0, 1, 36235958421388321, 
483: 0, 1, 
484: 0, 1, 
485: 0, 1, 37851354552463201, 
486: 0, 1, 
487: 0, 1, 
488: 0, 1, 39528087949845685, 
489: 0, 1, 
490: 0, 1, 
491: 0, 1, 41268087286688845, 
492: 0, 1, 
493: 0, 1, 
494: 0, 1, 43073329449785581, 
495: 0, 1, 
496: 0, 1, 
497: 0, 1, 44945840437920181, 
498: 0, 1, 
499: 0, 1, 
500: 0, 1, 46887696271310401, 
501: 0, 1, 
502: 0, 1, 
503: 0, 1, 48901023912208105, 
504: 0, 1, 
505: 0, 1, 
506: 0, 1, 50988002196726505, 
507: 0, 1, 
508: 0, 1, 
509: 0, 1, 53150862777962041, 
510: 0, 1, 
511: 0, 1, 
512: 0, 1, 55391891080478941, 
513: 0, 1, 
514: 0, 1, 
515: 0, 1, 57713427266224501, 
516: 0, 1, 
517: 0, 1, 
518: 0, 1, 60117867211943125, 
519: 0, 1, 
520: 0, 1, 
521: 0, 1, 62607663498157165, 
522: 0, 1, 
523: 0, 1, 
524: 0, 1, 65185326409782601, 
525: 0, 1, 
526: 0, 1, 
527: 0, 1, 67853424948447601, 
528: 0, 1, 
529: 0, 1, 
530: 0, 1, 70614587856582001, 
531: 0, 1, 
532: 0, 1, 
533: 0, 1, 73471504653345745, 
534: 0, 1, 
535: 0, 1, 
536: 0, 1, 76426926682464325, 
537: 0, 1, 
538: 0, 1, 
539: 0, 1, 79483668172039261, 
540: 0, 1, 
541: 0, 1, 
542: 0, 1, 82644607306401661, 
543: 0, 1, 
544: 0, 1, 
545: 0, 1, 85912687310076901, 
546: 0, 1, 
547: 0, 1, 
548: 0, 1, 89290917543928465, 
549: 0, 1, 
550: 0, 1, 
551: 0, 1, 92782374613548985, 
552: 0, 1, 
553: 0, 1, 
554: 0, 1, 96390203489966521, 
555: 0, 1, 
556: 0, 1, 
557: 0, 1, 100117618642734121, 
558: 0, 1, 
559: 0, 1, 
560: 0, 1, 103967905185470701, 
561: 0, 1, 
562: 0, 1, 
563: 0, 1, 107944420033921285, 
564: 0, 1, 
565: 0, 1, 
566: 0, 1, 112050593076604645, 
567: 0, 1, 
568: 0, 1, 
569: 0, 1, 116289928358116381, 
570: 0, 1, 
571: 0, 1, 
572: 0, 1, 120666005275155481, 
573: 0, 1, 
574: 0, 1, 
575: 0, 1, 125182479785342401, 
576: 0, 1, 
577: 0, 1, 
578: 0, 1, 129843085628896705, 
579: 0, 1, 
580: 0, 1, 
581: 0, 1, 134651635563242305, 
582: 0, 1, 
583: 0, 1, 
584: 0, 1, 139612022610608341, 
585: 0, 1, 
586: 0, 1, 
587: 0, 1, 144728221318693741, 
588: 0, 1, 
589: 0, 1, 
590: 0, 1, 150004289034463501, 
591: 0, 1, 
592: 0, 1, 
593: 0, 1, 155444367191144725, 
594: 0, 1, 
595: 0, 1, 
596: 0, 1, 161052682608490465, 
597: 0, 1, 
598: 0, 1, 
599: 0, 1, 166833548806379401, 
600: 0, 1, 
601: 0, 1, 
602: 0, 1, 172791367331819401, 
603: 0, 1, 
604: 0, 1, 
605: 0, 1, 178930629099423001, 
606: 0, 1, 
607: 0, 1, 
608: 0, 1, 185255915745422845, 
609: 0, 1, 
610: 0, 1, 
611: 0, 1, 191771900995295125, 
612: 0, 1, 
613: 0, 1, 
614: 0, 1, 198483352045059061, 
615: 0, 1, 
616: 0, 1, 
617: 0, 1, 205395130956320461, 
618: 0, 1, 
619: 0, 1, 
620: 0, 1, 212512196065127401, 
621: 0, 1, 
622: 0, 1, 
623: 0, 1, 219839603404706065, 
624: 0, 1, 
625: 0, 1, 
626: 0, 1, 227382508142144785, 
627: 0, 1, 
628: 0, 1, 
629: 0, 1, 235146166029094321, 
630: 0, 1, 
631: 0, 1, 
632: 0, 1, 243135934866552421, 
633: 0, 1, 
634: 0, 1, 
635: 0, 1, 251357275983800701, 
636: 0, 1, 
637: 0, 1, 
638: 0, 1, 259815755731561885, 
639: 0, 1, 
640: 0, 1, 
641: 0, 1, 268517046989445445, 
642: 0, 1, 
643: 0, 1, 
644: 0, 1, 277466930687749681, 
645: 0, 1, 
646: 0, 1, 
647: 0, 1, 286671297343688281, 
648: 0, 1, 
649: 0, 1, 
650: 0, 1, 296136148612109401, 
651: 0, 1, 
652: 0, 1, 
653: 0, 1, 305867598850775305, 
654: 0, 1, 
655: 0, 1, 
656: 0, 1, 315871876700270605, 
657: 0, 1, 
658: 0, 1, 
659: 0, 1, 326155326678607141, 
660: 0, 1, 
661: 0, 1, 
662: 0, 1, 336724410790593541, 
663: 0, 1, 
664: 0, 1, 
665: 0, 1, 347585710152037501, 
666: 0, 1, 
667: 0, 1, 
668: 0, 1, 358745926628848825, 
669: 0, 1, 
670: 0, 1, 
671: 0, 1, 370211884491111265, 
672: 0, 1, 
673: 0, 1, 
674: 0, 1, 381990532082191201, 
675: 0, 1, 
676: 0, 1, 
677: 0, 1, 394088943502951201, 
678: 0, 1, 
679: 0, 1, 
680: 0, 1, 406514320311136501, 
681: 0, 1, 
682: 0, 1, 
683: 0, 1, 419273993236002445, 
684: 0, 1, 
685: 0, 1, 
686: 0, 1, 432375423908250925, 
687: 0, 1, 
688: 0, 1, 
689: 0, 1, 445826206605343861, 
690: 0, 1, 
691: 0, 1, 
692: 0, 1, 459634070012261761, 
693: 0, 1, 
694: 0, 1, 
695: 0, 1, 473806878997775401, 
696: 0, 1, 
697: 0, 1, 
698: 0, 1, 488352636406298665, 
699: 0, 1, 
700: 0, 1, 
701: 0, 1, 503279484865390585, 
702: 0, 1, 
703: 0, 1, 
704: 0, 1, 518595708608974621, 
705: 0, 1, 
706: 0, 1, 
707: 0, 1, 534309735316343221, 
708: 0, 1, 
709: 0, 1, 
710: 0, 1, 550430137967015701, 
711: 0, 1, 
712: 0, 1, 
713: 0, 1, 566965636711517485, 
714: 0, 1, 
715: 0, 1, 
716: 0, 1, 583925100758148745, 
717: 0, 1, 
718: 0, 1, 
719: 0, 1, 601317550275810481, 
720: 0, 1, 
721: 0, 1, 
722: 0, 1, 619152158312956081, 
723: 0, 1, 
724: 0, 1, 
725: 0, 1, 637438252732736401, 
726: 0, 1, 
727: 0, 1, 
728: 0, 1, 656185318164406405, 
729: 0, 1, 
730: 0, 1, 
731: 0, 1, 675402997971061405, 
732: 0, 1, 
733: 0, 1, 
734: 0, 1, 695101096233770941, 
735: 0, 1, 
736: 0, 1, 
737: 0, 1, 715289579752178341, 
738: 0, 1, 
739: 0, 1, 
740: 0, 1, 735978580061634001, 
741: 0, 1, 
742: 0, 1, 
743: 0, 1, 757178395466930425, 
744: 0, 1, 
745: 0, 1, 
746: 0, 1, 778899493092707065, 
747: 0, 1, 
748: 0, 1, 
749: 0, 1, 801152510950593001, 
750: 0, 1, 
751: 0, 1, 
752: 0, 1, 823948260023155501, 
753: 0, 1, 
754: 0, 1, 
755: 0, 1, 847297726364722501, 
756: 0, 1, 
757: 0, 1, 
758: 0, 1, 871212073219147045, 
759: 0, 1, 
760: 0, 1, 
761: 0, 1, 895702643154581725, 
762: 0, 1, 
763: 0, 1, 
764: 0, 1, 920780960215331161, 
765: 0, 1, 
766: 0, 1, 
767: 0, 1, 946458732090850561, 
768: 0, 1, 
769: 0, 1, 
770: 0, 1, 972747852301958401, 
771: 0, 1, 
772: 0, 1, 
773: 0, 1, 999660402404331265, 
774: 0, 1, 
775: 0, 1, 
776: 0, 1, 1027208654209348885, 
777: 0, 1, 
778: 0, 1, 
779: 0, 1, 1055405072022357421, 
780: 0, 1, 
781: 0, 1, 
782: 0, 1, 1084262314898419021, 
783: 0, 1, 
784: 0, 1, 
785: 0, 1, 1113793238915615701, 
786: 0, 1, 
787: 0, 1, 
788: 0, 1, 1144010899465975585, 
789: 0, 1, 
790: 0, 1, 
791: 0, 1, 1174928553564089545, 
792: 0, 1, 
793: 0, 1, 
794: 0, 1, 1206559662173486281, 
795: 0, 1, 
796: 0, 1, 
797: 0, 1, 1238917892550833881, 
798: 0, 1, 
799: 0, 1, 
800: 0, 1, 1272017120608035901, 
801: 0, 1, 
802: 0, 1, 
803: 0, 1, 1305871433292290005, 
804: 0, 1, 
805: 0, 1, 
806: 0, 1, 1340495130984177205, 
807: 0, 1, 
808: 0, 1, 
809: 0, 1, 1375902729913849741, 
810: 0, 1, 
811: 0, 1, 
812: 0, 1, 1412108964595385641, 
813: 0, 1, 
814: 0, 1, 
815: 0, 1, 1449128790279378001, 
816: 0, 1, 
817: 0, 1, 
818: 0, 1, 1486977385423827025, 
819: 0, 1, 
820: 0, 1, 
821: 0, 1, 1525670154183402865, 
822: 0, 1, 
823: 0, 1, 197427385, 
824: 0, 1, 1565222728917147301, 
825: 0, 1, 
826: 0, 1, 
827: 0, 1, 1605650972714682301, 
828: 0, 1, 
829: 0, 1, 
830: 0, 1, 1646970981940993501, 
831: 0, 1, 
832: 0, 1, 
833: 0, 1, 1689199088799856645, 
834: 0, 1, 
835: 0, 1, 
836: 0, 1, 1732351863915975025, 
837: 0, 1, 
838: 0, 1, 
839: 0, 1, 1776446118935895961, 
840: 0, 1, 
841: 0, 1, 
842: 0, 1, 1821498909147774361, 
843: 0, 1, 
844: 0, 1, 
845: 0, 1, 1867527536120051401, 
846: 0, 1, 
847: 0, 1, 
848: 0, 1, 1914549550359116365, 
849: 0, 1, 
850: 0, 1, 
851: 0, 1, 1962582753986019685, 
852: 0, 1, 
853: 0, 1, 
854: 0, 1, 2011645203432305221, 
855: 0, 1, 
856: 0, 1, 
857: 0, 1, 2061755212155029821, 
858: 0, 1, 
859: 0, 1, 
860: 0, 1, 2112931353371038201, 
861: 0, 1, 
862: 0, 1, 
863: 0, 1, 2165192462810561185, 
864: 0, 1, 
865: 0, 1, 
866: 0, 1, 2218557641490205345, 
867: 0, 1, 
868: 0, 1, 
869: 0, 1, 2273046258505402081, 
870: 0, 1, 
871: 0, 1, 
872: 0, 1, 2328677953842384181, 
873: 0, 1, 
874: 0, 1, 
875: 0, 1, 2385472641209757901, 
876: 0, 1, 
877: 0, 1, 
878: 0, 1, 2443450510889738605, 
879: 0, 1, 
880: 0, 1, 
881: 0, 1, 2502632032609118005, 
882: 0, 1, 
883: 0, 1, 
884: 0, 1, 2563037958430031041, 
885: 0, 1, 
886: 0, 1, 
887: 0, 1, 2624689325660590441, 
888: 0, 1, 
889: 0, 1, 
890: 0, 1, 2687607459785457001, 
891: 0, 1, 
892: 0, 1, 
893: 0, 1, 2751813977416413625, 
894: 0, 1, 
895: 0, 1, 
896: 0, 1, 2817330789263011165, 
897: 0, 1, 
898: 0, 1, 
899: 0, 1, 2884180103123354101, 
900: 0, 1, 
901: 0, 1, 
902: 0, 1, 2952384426895094101, 
903: 0, 1, 
904: 0, 1, 
905: 0, 1, 3021966571606699501, 
906: 0, 1, 
907: 0, 1, 
908: 0, 1, 3092949654469068745, 
909: 0, 1, 
910: 0, 1, 
911: 0, 1, 3165357101947555825, 
912: 0, 1, 
913: 0, 1, 
914: 0, 1, 3239212652854475761, 
915: 0, 1, 
916: 0, 1, 
917: 0, 1, 3314540361462158161, 
918: 0, 1, 
919: 0, 1, 
920: 0, 1, 3391364600636616901, 
921: 0, 1, 
922: 0, 1, 
923: 0, 1, 3469710064991903965, 
924: 0, 1, 
925: 0, 1, 
926: 0, 1, 3549601774065215485, 
927: 0, 1, 
928: 0, 1, 
929: 0, 1, 3631065075512818021, 
930: 0, 1, 
931: 0, 1, 
932: 0, 1, 3714125648326863121, 
933: 0, 1, 
934: 0, 1, 
935: 0, 1, 3798809506073158201, 
936: 0, 1, 
937: 0, 1, 
938: 0, 1, 3885143000149961785, 
939: 0, 1, 
940: 0, 1, 
941: 0, 1, 3973152823067871145, 
942: 0, 1, 
943: 0, 1, 
944: 0, 1, 4062866011750870381, 
945: 0, 1, 
946: 0, 1, 
947: 0, 1, 4154309950858606981, 
948: 0, 1, 
949: 0, 1, 
950: 0, 1, 4247512376129964901, 
951: 0, 1, 
952: 0, 1, 
953: 0, 1, 4342501377748002205, 
954: 0, 1, 
955: 0, 1, 
956: 0, 1, 4439305403726321305, 
957: 0, 1, 
958: 0, 1, 
959: 0, 1, 4537953263316939841, 
960: 0, 1, 
961: 0, 1, 
962: 0, 1, 4638474130439730241, 
963: 0, 1, 
964: 0, 1, 
965: 0, 1, 4740897547133496001, 
966: 0, 1, 
967: 0, 1, 
968: 0, 1, 4845253427028752725, 
969: 0, 1, 
970: 0, 1, 
971: 0, 1, 4951572058842281965, 
972: 0, 1, 
973: 0, 1, 
974: 0, 1, 5059884109893525901, 
975: 0, 1, 
976: 0, 1, 
977: 0, 1, 5170220629642890901, 
978: 0, 1, 
979: 0, 1, 
980: 0, 1, 5282613053252028001, 
981: 0, 1, 
982: 0, 1, 
983: 0, 1, 5397093205166158345, 
984: 0, 1, 
985: 0, 1, 
986: 0, 1, 5513693302718511625, 
987: 0, 1, 
988: 0, 1, 
989: 0, 1, 5632445959756945561, 
990: 0, 1, 
991: 0, 1, 
992: 0, 1, 5753384190292814461, 
993: 0, 1, 
994: 0, 1, 
995: 0, 1, 5876541412172154901, 
996: 0, 1, 
997: 0, 1, 
998: 0, 1, 6001951450769256565, 
999: 0, 1, 
1000: 0, 1, 

2021年5月16日日曜日

210516

Ruby


Sum_{n = 1..24} n^2 = 70^2(4)

https://www.youtube.com/watch?v=q6L06pyt9CA

この動画に出てくる内容について出力してみた。

# polygonal number
def p_k(k, n)
  n * ((k - 2) * n - k + 4) / 2
end

# Sum_{j=1..n} p_k(k, j)
def q_k(k, n)
  (1..n).inject(0){|s, i| s + p_k(k, i)}
end

def f(k, m, n)
  p k
  p [m, q_k(k, m)]
  p [n, p_k(k, n)]
end

f(4, 24, 70)
f(8, 10, 19)
f(8, 18, 45)
f(31265, 259, 2407)

出力結果
4
[24, 4900]
[70, 4900]
8
[10, 1045]
[19, 1045]
8
[18, 5985]
[45, 5985]
31265
[259, 90525801730]
[2407, 90525801730]

2021年5月1日土曜日

210501

Ruby


(1/e) * Sum_{a_1>=1, a_2>=1, ... , a_n>=1} a_1 * a_2 * ... * a_k / (a_1 + a_2 + ... + a_n)!

O. Furdui, Limits, Series and Fractional Part Integrals
の3章のOpen Problemの一つに
Sum_{a_1>=1, a_2>=1, ... , a_n>=1} a_1 * a_2 * ... * a_n / (a_1 + a_2 + ... + a_n)!
が 有理数 * e と書けるかいう問題があるが、
より一般的に、1 <= k <= n のとき、
Sum_{a_1>=1, a_2>=1, ... , a_n>=1} a_1 * a_2 * ... * a_k / (a_1 + a_2 + ... + a_n)!
が 有理数 * e と書ける。
この有理数すなわち
(1/e) * Sum_{a_1>=1, a_2>=1, ... , a_n>=1} a_1 * a_2 * ... * a_k / (a_1 + a_2 + ... + a_n)!
を出力してみた。

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

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

def A(k, n)
  (0..k - 1).inject(0){|s, i| s + ncr(k - 1, i) / f(i + n).to_r}
end

n = 6
(1..n).each{|i|
  p [i, (1..i).map{|j| A(j, i)}]
}

出力結果
[1, [(1/1)]]
[2, [(1/2), (2/3)]]
[3, [(1/6), (5/24), (31/120)]]
[4, [(1/24), (1/20), (43/720), (179/2520)]]
[5, [(1/120), (7/720), (19/1680), (529/40320), (787/51840)]]
[6, [(1/720), (1/630), (73/40320), (187/90720), (8501/3628800), (6631/2494800)]]

2021年4月3日土曜日

210403

Ruby


Number of tilings of a <n,k,n> hexagon

一般化された二項係数を利用し計算してみた。

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

# generalized binomial coefficient (n,r)_m
def g_ncr_m(n, r, m = 1)
  # to_rとto_iは念のため
  (1..r).inject(1){|s, i| s * ncr(n - i + m, m) / ncr(i - 1 + m, m).to_r}.to_i
end

n = 10
(0..n).each{|i|
  p [i, (0..5).map{|j| g_ncr_m(i + j, i, i)}]
}

出力結果
[0, [1, 1, 1, 1, 1, 1]]
[1, [1, 2, 3, 4, 5, 6]]
[2, [1, 6, 20, 50, 105, 196]]
[3, [1, 20, 175, 980, 4116, 14112]]
[4, [1, 70, 1764, 24696, 232848, 1646568]]
[5, [1, 252, 19404, 731808, 16818516, 267227532]]
[6, [1, 924, 226512, 24293412, 1447482465, 55197331332]]
[7, [1, 3432, 2760615, 877262100, 142174944340, 13710834632352]]
[8, [1, 12870, 34763300, 33803832920, 15484613937936, 3940599631842016]]
[9, [1, 48620, 449141836, 1371597504992, 1832516612010448, 1274867710694037824]]
[10, [1, 184756, 5924217936, 58043512597616, 232187445047217296, 454924095627897307776]]

2021年3月6日土曜日

210306

Ruby


チェビシェフ多項式の明示的な式を利用した計算

T_n(n+k), U_n(n+k)の値を、
明示的な式を利用し計算してみた。

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

# n >= 0, m = 1 or 2
def chebyshev(n, m, k)
  if m == 2
    return (0..n).inject(0){|s, i| s + (2 * k - 2) ** i * ncr(n + 1 + i, 2 * i + 1)}
  elsif m == 1
    if n == 0
      return 1
    else
      return (n * (0..n).inject(0){|s, i| s + (2 * k - 2) ** i * ncr(n + i, 2 * i) / (n + i.to_r)}).to_i
    end
  end
end

K = 5
N = 9
(0..K).each{|k|
  p [k, (0..N).map{|i| chebyshev(i, 1, i + k)}]
}
(0..K).each{|k|
  p [k, (0..N).map{|i| chebyshev(i, 2, i + k)}]
}

出力結果
[0, [1, 1, 7, 99, 1921, 47525, 1431431, 50843527, 2081028097, 96450076809]]
[1, [1, 2, 17, 244, 4801, 120126, 3650401, 130576328, 5374978561, 250283080090]]
[2, [1, 3, 31, 485, 10081, 262087, 8193151, 299537289, 12545596801, 592479412811]]
[3, [1, 4, 49, 846, 18817, 514088, 16692641, 628855930, 26986755841, 1300371936876]]
[4, [1, 5, 71, 1351, 32257, 930249, 31521799, 1229215691, 54276558337, 2678768828749]]
[5, [1, 6, 97, 2024, 51841, 1580050, 55989361, 2265463212, 103182433537, 5228741809214]]
[0, [1, 2, 15, 204, 3905, 96030, 2883167, 102213944, 4178507265, 193501094490]]
[1, [1, 4, 35, 496, 9701, 241956, 7338631, 262184896, 10783446409, 501827040100]]
[2, [1, 6, 63, 980, 20305, 526890, 16451071, 600940872, 25154396001, 1187422368110]]
[3, [1, 8, 99, 1704, 37829, 1032240, 33489287, 1260879920, 54085723209, 2605282707576]]
[4, [1, 10, 143, 2716, 64769, 1866294, 63202399, 2463542488, 108742564225, 5365498355074]]
[5, [1, 12, 195, 4064, 104005, 3168060, 112211527, 4538833824, 206671502025, 10470873504140]]

2021年2月23日火曜日

210223

PARI


Number of perfect matchings in the graph C_{2n} X C_k

kが3以上のとき、計算してみた。

a341533(n, k) = round(sqrt(prod(a=1, n,   prod(b=1, k,   4*sin((2*a-1)*Pi/(2*n))^2+4*sin((2*b-1)*Pi/k)^2))));
a341738(n, k) = round(sqrt(prod(a=1, n,   prod(b=1, k-1, 4*sin((2*a-1)*Pi/(2*n))^2+4*sin(2*b*Pi/k)^2))));
a341739(n, k) = round(     prod(a=1, n-1, prod(b=1, k,   4*sin(a*Pi/n)^2          +4*sin((2*b-1)*Pi/(2*k))^2)));
T(n, k) = a341533(n, k)/2+a341738(n, k)+2*((k+1)%2)*a341739(n, ceil(k/2));

K=7;
for(n=2, 10, for(k=3, K, print1(T(n, k), ", ")); print)

出力結果
50, 272, 722, 3108, 10082, 
224, 3108, 9922, 90176, 401998, 
1058, 39952, 155682, 3113860, 19681538, 
5054, 537636, 2540032, 114557000, 1034315998, 
24200, 7379216, 41934482, 4357599552, 55820091938, 
115934, 102144036, 694861522, 169094614280, 3044533460992, 
555458, 1418981392, 11527389122, 6640849944580, 166779871224962, 
2661344, 19742287908, 191304901282, 262671237617216, 9152970837103102, 
12751250, 274848860432, 3175220160032, 10433179552323108, 502711247500143362, 

2021年1月17日日曜日

210117

Python


Number of spanning trees of odd Aztec diamond OD_n

Graphillion を使って計算してみた。

from graphillion import GraphSet

def make_OD_nk(n, k):
    n += 1
    k += 1
    grids = []
    s = k * n
    for i in range(1, k * n, k):
        for j in range(1, k):
            a, b = i + j - 1, i + j
            c = s + a
            if i > 1:
                grids.extend([(c - k, a), (c - k, b)])
            if i < k * (n - 1) + 1:
                grids.extend([(c, a), (c, b)])
    return grids

def A340425(n, k):
    universe = make_OD_nk(n, k)
    GraphSet.set_universe(universe)
    spanning_trees = GraphSet.trees(is_spanning=True)
    return spanning_trees.len()

print([A340425(n, n) for n in range(1, 6)])

出力結果
[1, 192, 4542720, 12116689944576, 3544863978266468352000]