優れた複合数


12

優れた高度に合成された数は、除数の数と数の累乗の比が可能な限り高い整数です。これを式として表現する:

d(n)をnの約数(数自体を含む)とします。特定の整数nについて、整数kごとにd(n)/ n ^ eがd(k)/ k ^ e以上の数eが存在する場合、nは高度に合成された数です。

詳細については、ウィキペディアの「優れた複合番号」またはA002201を参照してください OEISのを。

初期値は次のとおりです。

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

課題は、インデックスnを取得し、このシーケンスのn番目の数値を出力することです。

0または1のインデックスを使用できます。また、少なくとも最初の10個の値を処理できる限り、言語のデータ型の制限までのみ正しいプログラムを作成できます。

これはコードゴルフです。標準の抜け穴が適用されます。

回答:


3

Mathematica、277バイト

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

入力

[21]

出力

6064949221531200

入力

[50]

出力

247899128073275948560051200231228551175691632580942972608000

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.