In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Ciąg liczb Fibonacciego to ciąg liczb całkowitych zdefiniowany rekurencyjnie w następujący sposób:
Początkowe elementy tego ciągu to: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
Bajtazar bada, jak różne liczby można przedstawić jako sumy lub różnice liczb Fibonacciego. Aktualnie zastanawia się, jak daną dodatnią liczbę całkowitą przedstawić jako sumę lub różnicę jak najmniejszej liczby (niekoniecznie różnych) liczb Fibonacciego. Na przykład, liczby 10, 19, 17 i 1070 można przedstawić minimalnie, odpowiednio, za pomocą 2, 2, 3 lub 4 liczb Fibonacciego:
Pomóż Bajtazarowi! Napisz program, który dla danej dodatniej liczby całkowitej wyznaczy minimalną liczbę liczb Fibonacciego potrzebnych do przedstawienia liczby jako ich sumy lub różnicy.
W pierwszym wierszu standardowego wejścia znajduje się jedna dodatnia liczba całkowita () oznaczająca liczbę zapytań. W kolejnych wierszach będzie znajdowało się po jednej dodatniej liczbie całkowitej ().
Twój program powinien wypisać na standardowe wyjście dla każdego zapytania minimalną liczbę liczb Fibonacciego potrzebnych do przedstawienia liczby jako ich sumy lub różnicy.
Dla danych wejściowych:
1 1070
poprawną odpowiedzią jest:
4
Autor zadania: Karol Pokorski.