A função de Landau ( OEIS A000793 ) fornece a ordem máxima de um elemento do grupo simétrico . Aqui, a ordem de uma permutação é o menor número inteiro positivo modo que é a identidade - que é igual ao múltiplo menos comum dos comprimentos dos ciclos na decomposição do ciclo de permutação. Por exemplo, que é alcançado, por exemplo, por (1,2,3) (4,5,6,7) (8,9,10,11,12,13,14).
Portanto, é também igual ao valor máximo de em que com inteiros positivos.
Problema
Escreva uma função ou programa que calcule a função do Landau.
Entrada
Um número inteiro positivo .
Resultado
, a ordem máxima de um elemento do grupo simétrico .
Exemplos
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
Ponto
Este é o código-golf : O programa mais curto em bytes vence. (No entanto, as implementações mais curtas em vários idiomas são bem-vindas.)
Observe que não há requisitos impostos no tempo de execução; portanto, sua implementação não precisa necessariamente ser capaz de gerar todos os resultados do exemplo acima em um tempo razoável.
As brechas padrão são proibidas.
Max[Apply@LCM/@IntegerPartitions@#]&
estou familiarizado com o idioma - mas parece funcionar para mim e daria 36 bytes se estiver correto.