Задача 760
Суммирование по побитовым опреаторам

Определим $$\displaystyle g(m,n) = (m\oplus n)+(m\vee n)+(m\wedge n)$$ где $\oplus, \vee, \wedge$ - соответственно побитовые операторы XOR, OR и AND.

Также зададим $$\displaystyle G(N) = \sum_{n=0}^N\sum_{k=0}^n g(k,n-k)$$

Например, $G(10) = 754$ и $G(10^2) = 583766$.

Найдите $G(10^{18})$. В качестве ответа приведите остаток от деления полученного результата на $1\,000\,000\,007$.

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