|
MATHEMATICA
|
$RecursionLimit = 10^4;
b[n_, l_] := b[n, l] = Module[{k, m}, m = Min[l]; Which[n < 3, 1, m > 0, b[n - m, l - m], True, k = 1; While[l[[k]] > 0, k++]; b[n, ReplacePart[l, k -> 1]] + Expand[If[k + 1 < Length[l] && l[[k + 1 ;; k + 2]] == {0, 0}, b[n, ReplacePart[l, {k -> 3, k + 1 -> 3, k + 2 -> 3}]]*x, 0]]]];
a[n_] := a[n] = Function[p, Sum[Coefficient[p, x, i], {i, 0, Exponent[p, x]}]][b[n + 2, Table[0, n + 2]]];
|