Ланцюг додавання - це послідовність цілих чисел, що починається з 1, де кожне ціле число, окрім початкового 1, є сумою двох попередніх цілих чисел.
Наприклад, ось ланцюжок додавання:
[1, 2, 3, 4, 7, 8, 16, 32, 39, 71]
Ось такі суми, які складають ланцюжок додавання:
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
У цьому виклику вам буде дано додатне ціле число n
, і ви повинні вивести одну з найкоротших ланцюжків додавання, яка закінчується n
.
Приклади - зауважте, що існує багато можливих результатів. Все, що вам потрібно знайти, - це ланцюжок додавання, який такий же короткий:
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]
Стандартні правила вводу / виводу тощо. Стандартні лазівки заборонені. Код гольфу: виграє найменше байтів.