OFFSET
0,5
LINKS
Alois P. Heinz, Table of n, a(n) for n = 0..1000
EXAMPLE
a(4) = 2: 1*4 = 2*2.
a(5) = 2: 1*5 = 2*2+1*1.
a(6) = 2: 1*6 = 2*3.
a(7) = 3: 1*7 = 2*3+1*1 = 1*3+2*2.
a(8) = 3: 1*8 = 2*4 = 1*4+2*2.
a(9) = 4: 1*9 = 1*5+2*2 = 2*4+1*1 = 3*3.
a(10) = 5: 1*10 = 1*6+2*2 = 2*5 = 1*4+2*3 = 3*3+1*1.
a(11) = 6: 1*11 = 1*7+2*2 = 2*5+1*1 = 1*5+2*3 = 2*4+1*3 = 3*3+1*2.
a(12) = 5: 1*12 = 1*8+2*2 = 2*6 = 1*6+2*3 = 3*4.
MAPLE
h:= proc(n) option remember;
n*(n+1)*(2*n+1)/6
end:
g:= (n, i, s)-> `if`(n=0, 1, `if`(n>h(i), 0,
b(n, i, select(x-> x<=i, s)))):
b:= proc(n, i, s) option remember; g(n, i-1, s)+
`if`(i in s, 0, add(`if`(j in s, 0, g(n-i*j,
min(n-i*j, i-1), s union {j})), j=1..min(i, n/i)))
end:
a:= n-> g(n$2, {}):
seq(a(n), n=0..100);
MATHEMATICA
h[n_] := h[n] = n(n+1)(2n+1)/6;
g[n_, i_, s_ ] := If[n == 0, 1, If[n > h[i], 0,
b[n, i, Select[s, # <= i&]]]];
b[n_, i_, s_] := b[n, i, s] = g[n, i - 1, s] +
If[MemberQ[s, i], 0, Sum[If[MemberQ[s, j], 0, g[n - i*j,
Min[n - i*j, i - 1], s ~Union~ {j}]], {j, 1, Min[i, n/i]}]];
a[n_] := g[n, n, {}];
Table[a[n], {n, 0, 100}] (* Jean-François Alcover, Aug 01 2021, after Alois P. Heinz *)
CROSSREFS
KEYWORD
nonn
AUTHOR
Alois P. Heinz, Feb 13 2017
STATUS
approved