OFFSET
0,2
COMMENTS
a(n) is the least k such that A353235(k) = n.
a(n) <= 3^(2*n-1) for n >= 1.
LINKS
Robert Israel, Table of n, a(n) for n = 0..250
EXAMPLE
a(3) = 6 because A353235(6) = 3.
MAPLE
P:= [seq(ithprime(i), i=2..10)]:V:= Array(0..100):
for i from 0 to 100 do V[i]:= infinity od:
Agenda:= {seq([i], i=0..99)}:
f:= proc(L) option remember;
local Lp, t, s;
if nops(L) = 1 then ceil(L[1]/2)
else Lp:= L[1..-2];
t:= L[-1];
procname(Lp)*(t+1) + mul(s+1, s=Lp)*ceil(t/2) - 2*procname(Lp)*ceil(t/2);
fi;
end:
Process:= proc(L)
local v, x, v2, t, i;
global Agenda, V;
v:= f(L);
if v > 100 then return fi;
x:= mul(P[i]^L[i], i=1..nops(L));
if x < V[v] then V[v]:= x; printf("%d %d\n", v, x) fi;
v2:= v + mul(t+1, t=L);
if v2 <= 100 and 2*x < V[v2] then V[v2]:= 2*x; printf("%d %d\n", v2, 2*x) fi;
Agenda:= Agenda union {seq([op(L), t], t=1..L[-1])}
end proc;
Process := proc (L) local v, x, v2, t, i; global Agenda, V;
v := f(L);
if 100 < v then return end if;
x := mul(P[i]^L[i], i = 1 .. nops(L));
if x < V[v] then V[v] := x; end if;
v2 := v+mul(t+1, t = L);
if v2 <= 100 and 2*x < V[v2] then V[v2] := 2*x; p end if;
Agenda := Agenda union {seq([op(L), t], t = 1 .. L[-1])}
end proc:
while Agenda <> {} do
L0:= Agenda[1];
Agenda:= subsop(1=NULL, Agenda);
Process(L0);
od:
convert(V, list);
CROSSREFS
KEYWORD
nonn
AUTHOR
Robert Israel, Jun 05 2023
STATUS
approved