A339031 T(n, k) = k*P(n, k), where P(n, k) is the number of partitions of an n-set with k blocks, the largest of which has the size n - k + 1. Triangle T(n, k) for 0 <= k <= n, read by rows.
1, 0, 1, 0, 1, 2, 0, 1, 6, 3, 0, 1, 8, 18, 4, 0, 1, 10, 30, 40, 5, 0, 1, 12, 45, 80, 75, 6, 0, 1, 14, 63, 140, 175, 126, 7, 0, 1, 16, 84, 224, 350, 336, 196, 8, 0, 1, 18, 108, 336, 630, 756, 588, 288, 9
Offset: 0
Examples
Triangle starts: 0: [1] 1: [0, 1] 2: [0, 1, 2] 3: [0, 1, 6, 3] 4: [0, 1, 8, 18, 4] 5: [0, 1, 10, 30, 40, 5] 6: [0, 1, 12, 45, 80, 75, 6] 7: [0, 1, 14, 63, 140, 175, 126, 7] 8: [0, 1, 16, 84, 224, 350, 336, 196, 8] 9: [0, 1, 18, 108, 336, 630, 756, 588, 288, 9] . T(4, 1) = 1 = 1*card({1234}) T(4, 2) = 8 = 2*card({123|4, 124|3, 134|2, 1|234}) T(4, 3) = 18 = 3*card({12|3|4, 13|2|4, 1|23|4, 14|2|3, 1|24|3, 1|2|34}) T(4, 4) = 4 = 4*card({1|2|3|4})
Programs
-
Maple
A339031 := proc(n, k) if k = 0 then 0^n elif k = n then n else k*binomial(n, k-1) fi end: seq(seq(A339031(n, k), k=0..n), n=0..9);
-
SageMath
# Shows the combinatorial interpretation. def A339031Row(n): if n == 0: return [1] M = matrix(n + 2) for k in (1..n): for p in SetPartitions(n): if p.max_block_size() == k: M[len(p), k] += p.cardinality() return [M[k, n-k+1] for k in (0..n)] for n in (0..9): print(A339031Row(n))
Formula
T(n, k) = k*binomial(n, k - 1) for n >= 1 and 0 < k < n, and T(n, 0) = 0^n, T(n, n) = n.