Jak zapewne wiesz, liczba Fibonacciego jest liczbą będącą sumą dwóch poprzednich liczb w szeregu.
Fibonacci Digit ™ to taki, który jest sumą dwóch poprzednich cyfr .
Na przykład, dla początku serii 1,1
, seria będzie następować 1,1,2,3,5,8,13,4,7,11,2...
. Zmiana następuje po tym 13
, gdzie zamiast dodawać 8+13
dodajesz 1+3
. Seria zapętla się na końcu, gdzie 4+7=11
i 1+1=2
tak samo jak seria się zaczyna.
Dla innego przykładu, seria zaczynając 2,2
: 2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3...
. Ten zaczyna się wyjątkowo, ale gdy suma cyfr się 10
skończy, skończysz 1+0=1, 0+1=1
, a seria będzie kontynuowana - i zapętla się - w taki sam sposób jak 1,1
seria.
Wyzwanie
Biorąc pod uwagę liczbę całkowitą 0≤n≤99
, obliczyć pętlę w szeregu cyfr Fibonacciego zaczynając od tych dwóch cyfr. (Ty z pewnością pozwoliło rozważyć całkowite z tego zakresu, ale nie jest to wymagane). Jeśli dana wejście jedno-cyfrowy kod należy interpretować je oznaczają początek serii 0,n
.
Wszystkie liczby w pętli, które są dwucyfrowe, muszą być wyprowadzone jako dwie cyfry. Na przykład pętla for 1,1
zawierałaby 13
, a nie 1,3
.
Wyjście zaczyna się od pierwszej liczby w pętli. Opierając się na powyższych ograniczeniach, pętla dla 1,1
zaczyna się 2
od, ponieważ 1,1
i 11
są liczone osobno.
Każda liczba danych wyjściowych może być oddzielona przez cokolwiek chcesz, o ile jest spójna. We wszystkich moich przykładach używam przecinków, ale spacje, podziały wierszy, losowe litery itp. Są dozwolone, o ile zawsze używasz tej samej separacji. Tak więc 2g3g5g8g13g4g7g11
jest to legalne wyjście 1
, ale 2j3g5i8s13m4g7sk11
nie jest. Możesz używać ciągów, list, tablic, cokolwiek, pod warunkiem, że masz prawidłowe liczby we właściwej kolejności oddzielone spójnym separatorem. Dopuszcza się braketing całego wyjścia (np. (5,9,14)
Lub [5,9,14]
itp.).
Przypadki testowe:
1 -> 2,3,5,8,13,4,7,11
2 -> 2,3,5,8,13,4,7,11
3 -> 11,2,3,5,8,13,4,7
4 -> 3,5,8,13,4,7,11,2
5 -> 2,3,5,8,13,4,7,11
6 -> 3,5,8,13,4,7,11,2
7 -> 14,5,9
8 -> 13,4,7,11,2,3,5,8
9 -> 11,2,3,5,8,13,4,7
0 -> 0
14 -> 5,9,14
59 -> 5,9,14
To jest golf golfowy , więc wygrywa najmniejsza liczba bajtów.
14
and 59
give the same result. If 59
is interpreted as starting 5,9
and allowing that as part of the loop then surely 14
should be the start of its loop?
0,1,1,2,3,5,8,13,4,7,11,2,3
. The first time that the loop repeats is at the second 2
.
1,4,5,9,14,5
and 5,9,14,5,9
. Both of them repeat beginning with the second 5
. As I said earlier, only the input is split up; later numbers keep their digits together in the sequence.