login
Let n = p_1*p_2*...*p_k be the prime factorization of n, with the primes sorted in descending order. Then a(n) = 2^(p_1 - 1)*3^(p_2 - 1)*...*A000040(k)^(p_k - 1).
20

%I #32 Feb 09 2024 17:22:51

%S 1,2,4,6,16,12,64,30,36,48,1024,60,4096,192,144,210,65536,180,262144,

%T 240,576,3072,4194304,420,1296,12288,900,960,268435456,720,1073741824,

%U 2310,9216,196608,5184,1260,68719476736,786432,36864,1680,1099511627776

%N Let n = p_1*p_2*...*p_k be the prime factorization of n, with the primes sorted in descending order. Then a(n) = 2^(p_1 - 1)*3^(p_2 - 1)*...*A000040(k)^(p_k - 1).

%C This is an easy way to produce a number with exactly n divisors and it usually produces the smallest such number (A005179(n)). The references call n "ordinary" if A005179(n) = a(n) and "exceptional" or "extraordinary" otherwise. - _David Wasserman_, Jun 12 2002

%H T. D. Noe, <a href="/A037019/b037019.txt">Table of n, a(n) for n = 1..1000</a>

%H R. Brown, <a href="http://dx.doi.org/10.1016/j.jnt.2005.04.004">The minimal number with a given number of divisors</a>, Journal of Number Theory 116 (2006) 150-158.

%H M. E. Grost, <a href="http://www.jstor.org/stable/2315183">The smallest number with a given number of divisors</a>, Amer. Math. Monthly, 75 (1968), 725-729.

%H Anna K. Savvopoulou and Christopher M. Wedrychowicz, <a href="https://doi.org/10.1007/s11139-014-9572-9">On the smallest number with a given number of divisors</a>, The Ramanujan Journal, 2015, Vol. 37, pp. 51-64.

%e 12 = 3*2*2, so a(12) = 2^2*3*5 = 60.

%p a:= n-> (l-> mul(ithprime(i)^(l[i]-1), i=1..nops(l)))(

%p sort(map(i-> i[1]$i[2], ifactors(n)[2]), `>`)):

%p seq(a(n), n=1..60); # _Alois P. Heinz_, Feb 28 2019

%t (Times@@(Prime[ Range[ Length[ # ] ] ]^Reverse[ #-1 ]))&@Flatten[ FactorInteger[ n ]/.{ a_Integer, b_}:>Table[ a, {b} ] ]

%o (Haskell)

%o a037019 = product .

%o zipWith (^) a000040_list . reverse . map (subtract 1) . a027746_row

%o -- _Reinhard Zumkeller_, Nov 25 2012

%o (PARI) A037019(n,p=1)=prod(i=1,#f=Vecrev(factor(n)~),prod(j=1,f[i][2],(p=nextprime(p+1))^(f[i][1]-1))) \\ _M. F. Hasler_, Oct 14 2014

%o (Python)

%o from math import prod

%o from sympy import factorint, prime

%o def a(n):

%o pf = factorint(n, multiple=True)

%o return prod(prime(i)**(pi-1) for i, pi in enumerate(pf[::-1], 1))

%o print([a(n) for n in range(1, 42)]) # _Michael S. Branicky_, Jul 24 2022

%Y Cf. A005179, A000040, A072066.

%Y Cf. A027746.

%K nonn,nice,easy

%O 1,2

%A _Wouter Meeussen_

%E More terms from _David Wasserman_, Jun 12 2002