Функція Ландау ( OEIS A000793 ) задає максимальний порядок елемента симетричної групи . Тут порядок перестановки є найменшим додатним цілим числом таким, що - тотожність - яка дорівнює найменш загальному кратному довжині циклів при розкладі циклу перестановки. Наприклад, що досягається, наприклад, (1,2,3) (4,5,6,7) (8,9,10,11,12,13,14).
Тому також дорівнює максимальному значенню де з додатними цілими числами.
Проблема
Напишіть функцію або програму, яка обчислює функцію Ландау.
Вхідні дані
Позитивне ціле .
Вихідні дані
- максимальний порядок елемента симетричної групи .
Приклади
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
Оцінка
Це код-гольф : найкоротша програма в байтах виграє. (Тим не менш, найкоротші реалізації на декількох мовах вітаються.)
Зауважте, що жодних вимог, що пред'являються до часу виконання; отже, для вашої реалізації не обов'язково потрібно мати можливість генерувати всі наведені вище приклади в будь-який розумний час.
Стандартні лазівки заборонені.
Max[Apply@LCM/@IntegerPartitions@#]&
здається, працює на мене і дасть 36 байт, якщо це правильно.