Hàm Landau ( OEIS A000793 ) đưa ra thứ tự tối đa của một phần tử của nhóm đối xứng . Ở đây, thứ tự của một hoán vị là số nguyên dương nhỏ nhất sao cho là danh tính - bằng với bội số chung nhỏ nhất của độ dài của các chu kỳ trong phân rã chu kỳ hoán vị. Ví dụ: đạt được ví dụ bằng (1,2,3) (4,5,6,7) (8,9,10,11,12,13,14).
Do đó, cũng bằng giá trị tối đa của trong đó với số nguyên dương.
Vấn đề
Viết hàm hoặc chương trình tính toán hàm Landau.
Đầu vào
Một số nguyên dương .
Đầu ra
, thứ tự tối đa của một phần tử của nhóm đối xứng .
Ví dụ
n g(n)
1 1
2 2
3 3
4 4
5 6
6 6
7 12
8 15
9 20
10 30
11 30
12 60
13 60
14 84
15 105
16 140
17 210
18 210
19 420
20 420
Ghi bàn
Đây là code-golf : Chương trình ngắn nhất tính bằng byte thắng. (Tuy nhiên, việc triển khai ngắn nhất bằng nhiều ngôn ngữ đều được chào đón.)
Lưu ý rằng không có yêu cầu áp đặt cho thời gian chạy; do đó, việc triển khai của bạn không nhất thiết phải có khả năng tạo ra tất cả các kết quả ví dụ trên trong bất kỳ thời gian hợp lý nào.
Sơ hở tiêu chuẩn bị cấm.
Max[Apply@LCM/@IntegerPartitions@#]&
dường như hoạt động với tôi và sẽ cung cấp 36 byte nếu nó đúng.