Мы знаем, что каждое не отрицательное десятичное число может быть представлено однозначно суммой чисел Фибоначчи (здесь мы имеем дело с минимальным представлением, т.е. никакие последовательные числа Фибоначчи не берутся в представлении числа, а также каждое число Фибоначчи не более одного в представлении).
Например:
1-> 1
2-> 10
3->100
4->101, here f1=1 , f2=2 and f(n)=f(n-1)+f(n-2);
поэтому каждое десятичное число может быть представлено в системе Фибоначчи как двоичная последовательность. Если мы будем писать все натуральные числа последовательно в системе Фибоначчи, мы получим такую последовательность: 110100101... Это называется "битовой последовательностью Фибоначчи натуральных чисел".
Моя задача - подсчет числа раз, когда бит 1 появляется в первых N битах этой последовательности. Поскольку N может принимать значение от 1 до 10 ^ 15, могу ли я сделать это, не сохраняя последовательность Фибоначчи?
например: если N равно 5, ответ равен 3.