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