login
Smallest multiple of n with more than twice as many divisors as n.
4

%I #27 Feb 28 2022 10:22:54

%S 4,12,12,24,20,36,28,48,36,60,44,120,52,84,60,96,68,144,76,120,84,132,

%T 92,240,100,156,108,168,116,180,124,192,132,204,140,360,148,228,156,

%U 240,164,252,172,264,180,276,188,480,196,300,204,312,212,432,220,336

%N Smallest multiple of n with more than twice as many divisors as n.

%F a(n) = Min_{A000005(k*n) > 2*A000005(n)} k*n.

%e a(4) must have more than 6 divisors because 4 has 3 divisors and 3*2=6. Therefore, it cannot be 16 because 16 has only 5 divisors.

%p A195199 := proc(n)

%p for k from 2 do

%p if numtheory[tau](k*n) > 2*numtheory[tau](n) then

%p return k*n ;

%p end if;

%p end do:

%p end proc: # _R. J. Mathar_, Oct 21 2011

%t Table[d = DivisorSigma[0, n]; m = 1; While[DivisorSigma[0, m*n] <= 2*d, m++]; m*n, {n, 100}] (* _T. D. Noe_, Oct 21 2011 *)

%o (PARI) a(n) = my(m=n, d=numdiv(n)); while(numdiv(m)<=2*d, m+=n); m; \\ _Michel Marcus_, Jan 08 2022

%o (Python)

%o from sympy import divisor_count

%o def a(n):

%o dtarget, m = 2*divisor_count(n), 2*n

%o while divisor_count(m) <= dtarget: m += n

%o return m

%o print([a(n) for n in range(1, 57)]) # _Michael S. Branicky_, Jan 08 2022

%o (Python)

%o from math import prod

%o from itertools import count

%o from collections import Counter

%o from sympy import factorint

%o def A195199(n):

%o f = Counter(factorint(n))

%o d = prod(e+1 for e in f.values())

%o for m in count(2):

%o if prod(e+1 for e in (f+Counter(factorint(m))).values()) > 2*d:

%o return m*n # _Chai Wah Wu_, Feb 28 2022

%Y Cf. A000005.

%K nonn

%O 1,1

%A _J. Lowell_, Oct 12 2011