高次元カタラン数
A000108(http://oeis.org/A000108/list)、
A005789(http://oeis.org/A005789/list)、
A005790(http://oeis.org/A005790/list)、
A005791(http://oeis.org/A005791/list)、
A060855(http://oeis.org/A060855/list)
と比較し、答え合わせしてみる。
A060855(http://oeis.org/A060855/list)
と比較し、答え合わせしてみる。
def power(a, n)
return 1 if n == 0
k = power(a, n >> 1)
k *= k
return k if n & 1 == 0
return k * a
end
def c(m, n)
return 1 if n == 0
# (mn)! / (n! … n!)
s = (n + 1..m * n).inject(:*)
s /= power((1..n).inject(:*), m - 1)
# 1! / (n + 1) * 2! / ((n + 1)(n + 2)) * …
t, u = 1, 1
(1..m - 1).each{|i|
t *= power(m - i, i)
u *= power(n + m - i, i)
}
s * t / u
end
def A000108(n)
(0..n).map{|i| c(2, i)}
end
ary = A000108(30)
# OEIS A000108のデータ
ary0 =
[1,1,2,5,14,42,132,429,1430,4862,16796,58786,
208012,742900,2674440,9694845,35357670,129644790,
477638700,1767263190,6564120420,24466267020,
91482563640,343059613650,1289904147324,
4861946401452,18367353072152,69533550916004,
263747951750360,1002242216651368,3814986502092304]
# 一致の確認
p ary == ary0
def A005789(n)
(1..n).map{|i| c(3, i)}
end
ary = A005789(19)
# OEIS A005789のデータ
ary0 =
[1,5,42,462,6006,87516,1385670,23371634,414315330,
7646001090,145862174640,2861142656400,
57468093927120,1178095925505960,24584089974896430,
521086299271824330,11198784501894470250,
243661974372798631650,5360563436201569896300]
# 一致の確認
p ary == ary0
def A005790(n)
(1..n).map{|i| c(4, i)}
end
ary = A005790(16)
# OEIS A005790のデータ
ary0 =
[1,14,462,24024,1662804,140229804,13672405890,
1489877926680,177295473274920,22661585038594320,
3073259571003214320,438091463242348309440,
65166105157299311029200,
10056663345892631910888600,
1602608179958939072505281850,
262708662267696303439658400600]
# 一致の確認
p ary == ary0
def A005791(n)
(1..n).map{|i| c(5, i)}
end
ary = A005791(12)
# OEIS A005791のデータ
ary0 =
[1,42,6006,1662804,701149020,396499770810,
278607172289160,231471904322784840,
219738059326729823880,232553551737813227594400,
269396678720275351794712800,
336839101096824285057473785200]
# 一致の確認
p ary == ary0
# mが6以上
(6..10).each{|m|
p (1..12).map{|i| c(m, i)}
}
def A060855(n)
ary = [1]
ary += (2..n).map{|m| c(m, m + 1)}
end
ary = A060855(9)
# OEIS A060855のデータ
ary0 =
[1,5,462,1662804,396499770810,9490348077234178440,
32103104214166146088869942000,
20535535214275361308250745082811167425600,
3201252689605333194364294895470993505956118059617444000]
# 一致の確認
p ary == ary0
出力結果
true
true
true
true
[1, 132, 87516, 140229804, 396499770810, 1671643033734960, 9490348077234178440, 67867669180627125604080, 583692803893929928888544400, 5838544419011620940996212276800, 66244124978105851196543024492572800, 836288764382254532915188713779640302400]
[1, 429, 1385670, 13672405890, 278607172289160, 9490348077234178440, 475073684264389879228560, 32103104214166146088869942000, 2760171874087743799855959353857200, 289232890341906497299306268771988273600, 35764585916110766978895474668714467232388000, 5090211520903837197691053206565807120363613812000]
[1, 1430, 23371634, 1489877926680, 231471904322784840, 67867669180627125604080, 32103104214166146088869942000, 22081374992701950398847674830857600, 20535535214275361308250745082811167425600, 24486819823897171791550434989846505231774984000, 35969131343880148251284212308662848381529416400196000, 63104222871390776868436403671840272575350277821082450520000]
[1, 4862, 414315330, 177295473274920, 219738059326729823880, 583692803893929928888544400, 2760171874087743799855959353857200, 20535535214275361308250745082811167425600, 220381378415074546123953914908618547085974856000, 3201252689605333194364294895470993505956118059617444000, 59986874261544072491135645330451363110127974096720977464312000, 1396954113804814174072297198141381438063801703166851057080570737180000]
[1, 16796, 7646001090, 22661585038594320, 232553551737813227594400, 5838544419011620940996212276800, 289232890341906497299306268771988273600, 24486819823897171791550434989846505231774984000, 3201252689605333194364294895470993505956118059617444000, 599868742615440724911356453304513631101279740967209774643120000, 152267998404724744973880394597410576748954385645186765221782210352620000, 50106797649691113217459397039765454644914995408023080761564114499343647939320000]
true
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。