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+13dodajesz 1+3. Seria zapętla się na końcu, gdzie 4+7=11i 1+1=2tak 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ę 10skoń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,1seria.
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,1zawierał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,1zaczyna się 2od, ponieważ 1,1i 11są 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 2g3g5g8g13g4g7g11jest to legalne wyjście 1, ale 2j3g5i8s13m4g7sk11nie 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.