Задача 297
Представление Цекендорфа

Каждый следующий член последовательности Фибоначчи получается сложением предыдущих двух.
Начиная с 1 и 2, первые 10 членов будут: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89.

Каждое натуральное число может быть однозначно записано как сумма не следующих непосредственно друг за другом членов последовательности Фибоначчи. Например, 100 = 3 + 8 + 89.
Такая сумма называется представлением Цекендорфа данного числа.

Пусть z(n) - количество членов в представлении Цекендорфа числа n для любого целого n>0.
Таким образом, z(5) = 1, z(14) = 2, z(100) = 3 и т. д.
Кроме того, при 0<n<106, ∑ z(n) = 7894453.

Найдите ∑ z(n) при 0<n<1017.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net