OpenFIPI 2.0
5
5
E8FD94
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите такое наименьшее число N, для которого результат работы алгоритма больше 45. В ответе это число запишите в десятичной системе счисления.
11
for n in range(1, 100):
b = bin(n)[2:]
b = b + str(b.count('1') % 2)
b = b + str(b.count('1') % 2)
r = int(b, 2)
if r > 45:
print(n)
break
Просмотреть отправленные ответы E8FD94