OFFSET
1,8
LINKS
Robert Israel, Table of n, a(n) for n = 1..10000
Eric Weisstein's World of Mathematics, Perfect Power
Eric Weisstein's World of Mathematics, Partition
EXAMPLE
a(20) = #{16+4, 8+8+4, 8+4+4+4, 4+4+4+4+4} = 4.
MAPLE
N:= 200: # to get a(1) to a(N)
Pows:= {seq(seq(k^p, p=2..floor(log[k](N))), k=2..floor(sqrt(N)))}:
g:= proc(n, q) option remember; if n = 0 then 1 else `+`(seq(procname(n-r, r), r=select(`<=`, Pows, min(q, n)))) fi end proc:
seq(g(n, n), n=1..N); # Robert Israel, Nov 04 2015
MATHEMATICA
M = 200; (* to get a(1) to a(M) *)
Pows = Table[k^p, {k, 2, Floor[Sqrt[M]]}, {p, 2, Floor[Log[k, M]]}] // Flatten // Union;
g[n_, q_] := g[n, q] = If[n == 0, 1, Plus @@ Table[g[n - r, r], {r, Select[Pows, # <= Min[q, n]&]}]];
Table[g[n, n], {n, 1, M}] (* Jean-François Alcover, Feb 03 2018, translated from Robert Israel's Maple code *)
PROG
(PARI) leastp(n) = {while(!ispower(n), n--; if (n==0, return (0))); n; }
a(n) = {pmax = leastp(n); if (! pmax, return (0)); nb = 0; forpart(p=n, nb += (#select(x->ispower(x), Vec(p)) == #p), [4, pmax]); nb; } \\ Michel Marcus, Nov 04 2015
CROSSREFS
KEYWORD
nonn
AUTHOR
Reinhard Zumkeller, Sep 05 2005
STATUS
approved