Số tổng hợp cao cấp


12

Một số tổng hợp cao vượt trội là một số nguyên trong đó tỷ lệ số lượng ước của nó với một số lũy thừa của số đó càng cao càng tốt. Thể hiện điều này như một công thức:

Gọi d (n) là số ước của n, bao gồm cả số đó. Với một số nguyên n đã cho, nếu tồn tại một số e sao cho d (n) / n ^ e lớn hơn hoặc bằng d (k) / k ^ e với mọi số nguyên k, thì n là một số tổng hợp cao.

Để biết thêm, hãy xem số tổng hợp cao cấp tại Wikipedia hoặc A002201 tại OEIS.

Dưới đây là các giá trị ban đầu:

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

Thử thách của bạn là lấy chỉ số n và xuất số thứ n trong chuỗi này.

Bạn có thể sử dụng lập chỉ mục 0 hoặc 1 và bạn có thể tạo một chương trình chỉ đúng với giới hạn của loại dữ liệu ngôn ngữ của bạn, miễn là nó có thể xử lý tối thiểu 10 giá trị đầu tiên.

Đây là mã golf. Tiêu chuẩn áp dụng.

Câu trả lời:


3

Toán học, 277 byte

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

đầu vào

[21]

đầu ra

6064949221531200

đầu vào

[50]

đầu ra

247899128073275948560051200231228551175691632580942972608000000

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.