На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа 5N.
-
К этой записи дописываются справа ещё два разряда по следующему правилу:
складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа).
Полученная таким образом запись является двоичной записью искомого числа R. Укажите наименьшее число N, для которого результат работы данного алгоритма больше числа 3105. В ответе это число запишите в десятичной системе счисления.
for n in range(1, 500):
b = bin(5*n)[2:]
b += str(b.count(’1’) % 2)
b += str(b.count(’1’) % 2)
if int(b, 2) > 3105:
print(n)
break
Ответ: 156