Łańcuch dodawania jest sekwencją liczb całkowitych rozpoczynających się od 1, gdzie każda liczba całkowita inna niż początkowa 1 jest sumą dwóch poprzednich liczb całkowitych.
Oto na przykład łańcuch dodawania:
[1, 2, 3, 4, 7, 8, 16, 32, 39, 71]
Oto sumy, które sprawiają, że jest to łańcuch dodawania:
1 + 1 = 2
1 + 2 = 3
1 + 3 = 4
3 + 4 = 7
1 + 7 = 8
8 + 8 = 16
16 + 16 = 32
7 + 32 = 39
32 + 39 = 71
W tym wyzwaniu otrzymasz dodatnią liczbę całkowitą n
i musisz wygenerować jeden z najkrótszych łańcuchów dodawania, który kończy się na n
.
Przykłady - zwróć uwagę, że istnieje wiele możliwych wyników, wszystko, co musisz znaleźć, to łańcuch dodatków, który jest tak samo krótki:
1: [1]
2: [1, 2]
3: [1, 2, 3]
4: [1, 2, 4]
5: [1, 2, 3, 5]
6: [1, 2, 3, 6]
7: [1, 2, 3, 4, 7]
11: [1, 2, 3, 4, 7, 11]
15: [1, 2, 3, 5, 10, 15]
19: [1, 2, 3, 4, 8, 11, 19]
29: [1, 2, 3, 4, 7, 11, 18, 29]
47: [1, 2, 3, 4, 7, 10, 20, 27, 47]
71: [1, 2, 3, 4, 7, 8, 16, 32, 39, 71]
Standardowe reguły we / wy itp. Standardowe luki zabronione. Code golf: Wygrywa najmniej bajtów.