Функция Ландау ( OEIS A000793 ) дает максимальный порядок элемента симметрической группы . Здесь порядок перестановки является наименьшим положительным целым числом таким, что является тождеством, равным наименьшему общему кратному длин циклов в разложении циклов перестановки. Например, что достигается, например, с помощью (1,2,3) (4,5,6,7) (8,9,10,11,12,13,14).
Таким образом, также равно максимальное значение , где 1 + ⋯ + к = п с в 1 , ... , к положительным целым числам.
проблема
Напишите функцию или программу, которая вычисляет функцию Ландау.
вход
Положительное целое число .
Выход
- максимальный порядок элемента симметрической группы .
Примеры
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 байт, если это правильно.