Najwyższej jakości wysoce złożone liczby

12

Nadrzędną liczbą wysoce złożoną jest liczba całkowita, w której stosunek liczby dzielników do pewnej potęgi liczby jest tak wysoki, jak to możliwe. Wyrażając to jako formułę:

Niech d (n) będzie liczbą dzielników n, w tym samą liczbą. Dla danej liczby całkowitej n, jeśli istnieje liczba e taka, że ​​d (n) / n ^ e jest większa lub równa d (k) / k ^ e dla każdej liczby całkowitej k, to n jest liczbą wysoce złożoną.

Aby uzyskać więcej informacji, zobacz Superior wysoce złożony numer w Wikipedii lub A002201 w OEIS.

Oto wartości początkowe:

2, 6, 12, 60, 120, 360, 2520, 5040, 55440, 720720, 1441440, 4324320, 21621600, 367567200, 6983776800, 13967553600, 321253732800, 2248776129600, 65214507758400, 195643523275200, 6064949221531200

Twoim wyzwaniem jest pobranie indeksu n i wyprowadzenie n-tej liczby w tej sekwencji.

Możesz użyć indeksowania 0 lub 1 i możesz stworzyć program, który będzie poprawny tylko do limitów typów danych twojego języka, o ile będzie on w stanie obsłużyć przynajmniej 10 pierwszych wartości.

To jest kod golfowy. Obowiązują standardowe luki .

isaacg
źródło

Odpowiedzi:

3

Mathematica, 277 bajtów

(A=AppendTo;p[f_]:=Module[{p=f[[1]],k=f[[2]]},N[Log[(k+2)/(k+1)]/Log[p]]];m=#;f={{2,1},{3,0}};o=1;l={2};x=Table[p[f[[i]]],{i,o+1}];For[n=2,n<=m,n++,i=Position[x,Max[x]][[1,1]];A[l,f[[i,1]]];f[[i,2]]++;If[i>o,o++;A[f,{Prime[i+1],0}];A[x,p[f[[-1]]]]];x[[i]]=p[f[[i]]]];Times@@l)&

Wejście

[21]

wynik

6064949221531200

Wejście

[50]

wynik

247899128073275948560051200231228551175691632580942972608000

J42161217
źródło