tło
Większość osób zna się na liczby Fibonacciego F(n)
:
0, 1, 1, 2, 3, 5, 8, 13, 21 ...
Są one tworzone przez funkcję rekurencji za F(n) = F(n-1) + F(n-2)
pomocą F(0)=0
iF(1)=1
. A000045
Blisko spokrewniona sekwencja to liczby Lucasa L(m)
:
2, 1, 3, 4, 7, 11, 18, 29 ...
Są one tworzone przez funkcję rekurencji za L(m) = L(m-1) + L(m-2)
pomocą L(0)=2
i L(1)=1
.A000032
Możemy przełączać się między dwiema sekwencjami w oparciu o wskaźniki parzyste / nieparzyste, z budową,
A(x) = F(x)
jeśli x mod 2 = 0
i A(x) = L(x)
inaczej. Na przykład A(4)
jest równy F(4)
od 4 mod 2 = 0
. Zadzwonimy tej sekwencji Lucas-nacci Liczby , A(x)
:
0, 1, 1, 4, 3, 11, 8, 29, 21, 76 ...
Może być utworzone przez funkcję rekursji A(x) = 3*A(x-2) - A(x-4)
z A(0)=0
, A(1)=1
, A(2)=1
i A(3)=4
. A005013
Wyzwanie
Biorąc pod uwagę dane wejściowe n
, wypisz ciąg n+1
liczb do włącznie, A(n)
jak opisano powyżej. Najmniej bajtów (lub odpowiedników bajtów, takich jak dla LabVIEW , ustalanych indywidualnie w Meta).
Wejście
Pojedyncza nieujemna liczba całkowita n
.
Wynik
Lista liczb odpowiadających podsekwencji liczb Lucas-nacci od A(0)
doA(n)
. Lista musi być w kolejności sekwencyjnej, jak opisano powyżej.
Zasady
- Obowiązują standardowe zasady gry w golfa i ograniczenia luk .
- Obowiązują standardowe zasady wejścia / wyjścia .
- Numer wejściowy może być w dowolnym odpowiednim formacie: jednostkowy lub dziesiętny, odczytany ze STDIN, argument funkcji lub wiersza poleceń itp. - twój wybór.
- Dane wyjściowe można wydrukować do STDOUT lub zwrócić w wyniku wywołania funkcji. Jeśli są drukowane, należy dołączyć odpowiednie separatory do rozróżnienia liczb (rozdzielone spacjami, oddzielone przecinkami itp.).
- Dodatkowo, jeśli dane wyjściowe do STDOUT, otaczające białe spacje, końcowe znaki nowej linii itp. Są opcjonalne.
- Jeśli wejście jest liczbą całkowitą lub liczbą całkowitą ujemną, program może zrobić cokolwiek lub nic, ponieważ zachowanie jest niezdefiniowane.
Przykłady
Input -> Output
0 -> 0
5 -> 0, 1, 1, 4, 3, 11
18 -> 0, 1, 1, 4, 3, 11, 8, 29, 21, 76, 55, 199, 144, 521, 377, 1364, 987, 3571, 2584