%I #10 Jun 11 2023 14:17:44
%S 1,2,15,6,18,405,30,162,945,90,1458,295245,210,450,25515,810,10395,
%T 455625,630,1062882,31185,7290,4050,156905298045,1890,354375,18600435,
%U 3150,280665,114383962274805,5670,36450,135135,590490,1506635235,3189375,6930,101250,922640625,5314410,22050
%N a(n) is the least k that has exactly n divisors whose arithmetic derivative is odd.
%C a(n) is the least k such that A353235(k) = n.
%C a(n) <= 3^(2*n-1) for n >= 1.
%H Robert Israel, <a href="/A363483/b363483.txt">Table of n, a(n) for n = 0..250</a>
%e a(3) = 6 because A353235(6) = 3.
%p P:= [seq(ithprime(i),i=2..10)]:V:= Array(0..100):
%p for i from 0 to 100 do V[i]:= infinity od:
%p Agenda:= {seq([i],i=0..99)}:
%p f:= proc(L) option remember;
%p local Lp,t,s;
%p if nops(L) = 1 then ceil(L[1]/2)
%p else Lp:= L[1..-2];
%p t:= L[-1];
%p procname(Lp)*(t+1) + mul(s+1,s=Lp)*ceil(t/2) - 2*procname(Lp)*ceil(t/2);
%p fi;
%p end:
%p Process:= proc(L)
%p local v, x, v2, t,i;
%p global Agenda,V;
%p v:= f(L);
%p if v > 100 then return fi;
%p x:= mul(P[i]^L[i],i=1..nops(L));
%p if x < V[v] then V[v]:= x; printf("%d %d\n",v,x) fi;
%p v2:= v + mul(t+1,t=L);
%p if v2 <= 100 and 2*x < V[v2] then V[v2]:= 2*x; printf("%d %d\n",v2,2*x) fi;
%p Agenda:= Agenda union {seq([op(L),t],t=1..L[-1])}
%p end proc;
%p Process := proc (L) local v, x, v2, t, i; global Agenda, V;
%p v := f(L);
%p if 100 < v then return end if;
%p x := mul(P[i]^L[i], i = 1 .. nops(L));
%p if x < V[v] then V[v] := x; end if;
%p v2 := v+mul(t+1, t = L);
%p if v2 <= 100 and 2*x < V[v2] then V[v2] := 2*x; p end if;
%p Agenda := Agenda union {seq([op(L), t], t = 1 .. L[-1])}
%p end proc:
%p while Agenda <> {} do
%p L0:= Agenda[1];
%p Agenda:= subsop(1=NULL,Agenda);
%p Process(L0);
%p od:
%p convert(V,list);
%Y Cf. A353235.
%K nonn
%O 0,2
%A _Robert Israel_, Jun 05 2023
|