%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