Funkcja Landaua ( OEIS A000793 ) podaje maksymalny porządek elementu grupy symetrycznej . Tutaj porządek permutacji jest najmniejszą dodatnią liczbą całkowitą tak że jest identycznością - która jest równa najmniejszej wspólnej wielokrotności długości cykli w rozkładzie cyklu permutacji. Na przykład co osiąga się na przykład przez (1,2,3) (4,5,6,7) (8,9,10,11,12,13,14).
Dlatego też, jest równa maksymalnej wartości gdzie 1 + ⋯ + k = n z o 1 , ... , K dodatnimi liczbami całkowitymi.
Problem
Napisz funkcję lub program, który oblicza funkcję Landaua.
Wejście
Dodatnia liczba całkowita .
Wynik
, maksymalna kolejność elementu grupy symetrycznej .
Przykłady
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
Wynik
To jest golf-golf : Wygrywa najkrótszy program w bajtach. (Niemniej mile widziane są najkrótsze wdrożenia w wielu językach).
Pamiętaj, że nie ma żadnych wymagań dotyczących czasu działania; dlatego twoja implementacja niekoniecznie musi być w stanie wygenerować wszystkie powyższe wyniki przykładowe w rozsądnym czasie.
Standardowe luki są zabronione.
Max[Apply@LCM/@IntegerPartitions@#]&
jestem zbyt obeznany z językiem - ale wydaje się, że działa dla mnie i dałby 36 bajtów, jeśli jest poprawny.