Überlegene zusammengesetzte Zahlen

12

Eine überlegene zusammengesetzte Zahl ist eine Ganzzahl, bei der das Verhältnis der Anzahl der Teiler zu einer Potenz der Zahl so hoch wie möglich ist. Dies als Formel ausdrücken:

Sei d (n) die Anzahl der Teiler von n, einschließlich der Anzahl selbst. Wenn für eine gegebene ganze Zahl n eine Zahl e existiert, so dass d (n) / n ^ e für jede ganze Zahl k größer oder gleich d (k) / k ^ e ist, dann ist n eine stark zusammengesetzte Zahl.

Weitere Informationen finden Sie unter Superior Highly Composite Number bei Wikipedia oder A002201 bei OEIS.

Hier sind die Anfangswerte:

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

Ihre Herausforderung besteht darin, einen Index n zu nehmen und die n-te Zahl in dieser Reihenfolge auszugeben.

Sie können die Indexierung 0 oder 1 verwenden und ein Programm erstellen, das nur bis zu den Grenzen der Datentypen Ihrer Sprache korrekt ist, sofern es mindestens die ersten 10 Werte verarbeiten kann.

Das ist Code Golf. Es gelten Standardlücken .

isaacg
quelle

Antworten:

3

Mathematica, 277 Bytes

(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)&

Eingang

[21]

Ausgabe

6064949221531200

Eingang

[50]

Ausgabe

247899128073275948560051200231228551175691632580942972608000

J42161217
quelle