A382522 Square array A(n,k), n>=0, k>=0, read by antidiagonals downwards, where n unlabeled objects are distributed into k containers of four kinds. Containers may be left empty.
1, 4, 0, 10, 4, 0, 20, 16, 4, 0, 35, 40, 26, 4, 0, 56, 80, 80, 32, 4, 0, 84, 140, 180, 124, 42, 4, 0, 120, 224, 340, 320, 184, 48, 4, 0, 165, 336, 574, 660, 535, 248, 58, 4, 0, 220, 480, 896, 1184, 1200, 800, 332, 64, 4, 0, 286, 660, 1320, 1932, 2284, 1956, 1176, 416, 74, 4, 0
Offset: 0
Examples
Array starts: 0 : [1, 4, 10, 20, 35, 56, 84, 120, 165, 220, 286] 1 : [0, 4, 16, 40, 80, 140, 224, 336, 480, 660, 880] 2 : [0, 4, 26, 80, 180, 340, 574, 896, 1320, 1860, 2530] 3 : [0, 4, 32, 124, 320, 660, 1184, 1932, 2944, 4260, 5920] 4 : [0, 4, 42, 184, 535, 1200, 2284, 3892, 6129, 9100, 12910] 5 : [0, 4, 48, 248, 800, 1956, 3968, 7088, 11568, 17660, 25616] 6 : [0, 4, 58, 332, 1176, 3080, 6618, 12364, 20892, 32776, 48590] 7 : [0, 4, 64, 416, 1616, 4560, 10368, 20280, 35536, 57376, 87040] 8 : [0, 4, 74, 520, 2187, 6580, 15778, 32196, 58414, 97012, 150570] 9 : [0, 4, 80, 628, 2848, 9140, 23088, 49172, 92352, 157808, 250720] 10 : [0, 4, 90, 752, 3660, 12440, 33002, 73188, 142160, 249740, 406036] ...
Crossrefs
Programs
-
Maple
b:= proc(n, i) option remember; expand(`if`(n=0, 1, `if`(i<1, 0, add(x^j*b(n-i*j, min(n-i*j, i-1))*binomial(j+3, 3), j=0..n/i)))) end: A:= (n, k)-> coeff(b(n+k$2), x, k): seq(seq(A(n, d-n), n=0..d), d=0..10); # Alois P. Heinz, Mar 31 2025
-
Mathematica
b[n_, i_] := b[n, i] = Expand[If[n == 0, 1, If[i < 1, 0, Sum[x^j*b[n-i*j, Min[n-i*j, i-1]]*Binomial[j+3, 3], {j, 0, n/i}]]]]; A[n_, k_] := Coefficient[b[n+k, n+k], x, k]; Table[Table[A[n, d-n], {n, 0, d}], {d, 0, 10}] // Flatten (* Jean-François Alcover, Aug 07 2025, after Alois P. Heinz *)
-
Python
from sympy import binomial from sympy.utilities.iterables import partitions def a_row(n, length=11) : if n == 0 : return [ binomial( k + 3, 3) for k in range( length) ] t = list( [0] * length) for p in partitions( n): fact = 1 s = 0 for k in p : s += p[k] fact *= binomial( 3 + p[k], 3) if s > 0 : t[s] += fact a = list( [0] * length) for i in range( 1, length): for j in range( i, 0, -1): a[i] += t[j] * binomial( i - j + 3, 3) return a for n in range(11): print(a_row(n))