OFFSET
1,2
COMMENTS
For any n >= 1, the number 2^(n - 1) has exactly n divisors in A005153.
LINKS
David A. Corneth, Table of n, a(n) for n = 1..10000 (first 501 terms from Robert Israel)
EXAMPLE
a(1) = 1 because 1 has only one divisor 1 = A005153(1).
Numbers 3, 5, 7, 9, 11 have only divisor 1 in A005153, 4 has divisors 1, 2, 4 in A005153, numbers 6 and 10 have only two divisors in A005153, and 8 has three divisors in A005153. The number 12 has the divisors {1, 2, 3, 4, 6, 12} and exactly five of them, 1, 2, 4, 6 and 12 are in A005153, so a(5) = 12.
a(18) = 360. 360 has 24 divisors. Its odd part is 45 which has 6 divisors, all but 1 are not practical. The largest prime factor of 360 is 5. sigma(2) = 3 < 5 but sigma(4) = 7 >= 5 so any divisor of 360 that is a multiple of 4 is a practical number. Those are tau(360/4) = 12. From divisors of 360 of the form 2*m where m is odd only 10 is not practical. Therefore there are 1 + 5 + 12 = 18 practical divisors of 360 and no smaller number than 360 has exactly 18 practical divisors. - David A. Corneth, Sep 06 2024
MAPLE
isprac:= proc(n) option remember; local L, i, P;
if n::odd then return false fi;
L:= sort(ifactors(n)[2], (a, b) -> a[1]<b[1]);
P:= 2^(L[1][2]+1)-1;
for i from 2 to nops(L) do
if L[i][1] > P+1 then return false fi;
P:= P*(L[i][1]^(L[i][2]+1)-1)/(L[i][1]-1);
od;
true
end proc:
isprac(1):= true:
N:= 100: # for a(1)..a(N)
V:= Vector(N): count:= 0:
for n from 1 while count < N do
v:= nops(select(isprac, numtheory:-divisors(n)));
if v <= N and V[v] = 0 then V[v]:= n; count:= count+1; fi
od:
convert(V, list); # Robert Israel, Aug 21 2024
MATHEMATICA
f[p_, e_] := (p^(e + 1) - 1)/(p - 1); pracQ[n_] := (ind = Position[(fct = FactorInteger[n])[[;; , 1]]/(1 + FoldList[Times, 1, f @@@ Most@fct]), _?(# > 1 &)]) == {}; d[n_] := DivisorSum[n, 1 &, pracQ[#] &]; seq[len_, nmax_] := Module[{s = Table[0, {len}], c = 0, n = 1, i}, While[c < len && n < nmax, i = d[n]; If[i <= len && s[[i]] == 0, c++; s[[i]] = n]; n++]; s]; seq[50, 10^5] (* Amiram Eldar, Aug 21 2023 *)
PROG
(Magma) sk:=func<n, k|&+[Divisors(n)[i]:i in [1..k]]>; pr:=func<n|forall{k:k in [2..#Divisors(n)]|sk(n, k-1) ge Divisors(n)[k]-1}>; a:=[]; for n in [1..50] do k:=1; while #[d:d in Divisors(k)|pr(d)] ne n do k:=k+1; end while; Append(~a, k); end for; a;
CROSSREFS
KEYWORD
nonn
AUTHOR
Marius A. Burtea, Aug 18 2023
STATUS
approved