Задача 508
Целые по основанию i-1

Рассмотрим Гауссово целое число i-1. Представлением по основанию i-1 для Гауссова целого a+bi является конечная последовательность цифр dn-1dn-2...d1d0, таких что:

  • a+bi = dn-1(i-1)n-1 + dn-2(i-1)n-2 + ... + d1(i-1) + d0
  • Каждое dk принадлежит {0,1}
  • Отсутствуют ведущие нули, т.е. dn-1 ≠ 0, если только само a+bi не равно 0

Ниже приведены представления нескольких Гауссовых целых по основанию i-1:

11+24i → 111010110001101
24-11i → 110010110011
8+0i → 111000000
-5+0i → 11001101
0+0i → 0

Заметим, что каждое Гауссово целое имеет уникальное представление по основанию i-1.

Определим f(a+bi) как количество единиц в уникальном представлении числа a+bi по основанию i-1. Например, f(11+24i) = 9 и f(24-11i) = 7.

Определим B(L) как сумму f(a+bi) для всех целых a, b, таких что |a| ≤ L и |b| ≤ L. Например, B(500) = 10795060.

Найдите B(1015) mod 1 000 000 007.

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