|
|
A259324
|
|
Infinite square array read by antidiagonals: T(n,k) = number of ways of partitioning numbers <= n into k parts (n >= 0, k >= 1).
|
|
0
|
|
|
1, 1, 2, 1, 2, 3, 1, 2, 4, 4, 1, 2, 4, 6, 5, 1, 2, 4, 7, 9, 6, 1, 2, 4, 7, 11, 12, 7, 1, 2, 4, 7, 12, 16, 16, 8, 1, 2, 4, 7, 12, 18, 23, 20, 9, 1, 2, 4, 7, 12, 19, 27, 31, 25, 10, 1, 2, 4, 7, 12, 19, 29, 38, 41, 30, 11, 1, 2, 4, 7, 12, 19, 30, 42, 53, 53, 36, 12, 1, 2, 4, 7, 12, 19, 30, 44, 60, 71, 67, 42, 13, 1, 2, 4, 7, 12, 19, 30, 45, 64, 83, 94, 83, 49, 14, 1, 2
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
LINKS
|
|
|
FORMULA
|
T(u,m) = T(u,m-1)+T(u-m,m), with initial conditions T(0,m)=1, T(m,1)=u+1.
|
|
EXAMPLE
|
The first few antidiagonals are:
1,
1,2,
1,2,3,
1,2,4,4,
1,2,4,6,5,
1,2,4,7,9,6,
1,2,4,7,11,12,7,
1,2,4,7,12,16,16,8,
...
|
|
MAPLE
|
A0 := proc(u, m)
option remember;
if u = 0 then
1;
elif u < 0 then
0;
elif m = 1 then
u+1 ;
else
procname(u, m-1)+procname(u-m, m) ;
end if;
end proc:
for d from 1 to 15 do
for m from d to 1 by -1 do
printf("%d, ", A0(d-m, m)) ;
end do:
|
|
MATHEMATICA
|
T[0, _] = 1; T[u_ /; u > 0, m_ /; m > 1] := T[u, m] = T[u, m - 1] + T[u - m, m]; T[u_, 1] := u + 1; T[_, _] = 0;
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|