Напишите алгоритм, чтобы найти F(n)
количество бит, установленное в 1, во всех числах от 1 до n для любого заданного значения n.
Сложность должна быть O(log n)
Например:
1: 001
2: 010
3: 011
4: 100
5: 101
6: 110
So
F(1) = 1,
F(2) = F(1) + 1 = 2,
F(3) = F(2) + 2 = 4,
F(4) = F(3) + 1 = 5,
etc.
Я могу только разработать алгоритм O(n)
.