|
MATHEMATICA
|
b[n_, k_, L_] := b[n, k, L] = If[n == 0, 1, b[n - 1, k, Append[L, {1}]] + Sum[If[i == 1 || Length[L[[i]]] < Length[L[[i - 1]]], b[n - 1, k, ReplacePart[L, i -> Append[L[[i]], 1]]], 0] + Sum[If[L[[i, j]] < k && (i == 1 || L[[i, j]] < L[[i - 1, j]]) && (j == 1 || L[[i, j]] < L[[i, j - 1]]), b[n - 1, k, ReplacePart[L, i -> ReplacePart[L[[i]], j -> L[[i, j]] + 1]]], 0], {j, 1, Length[L[[i]]]}], {i, 1, Length[L]}]];
A[n_, k_] := If[k == 0, If[n == 0, 1, 0], b[n, Min[n, k], {}]];
T[n_, k_] := A[n, k] - If[k == 0, 0, A[n, k - 1]];
a[n_] := a[n] = Sum[T[n, k], {k, 0, n}];
|