Задание 5. Информатика. ЕГЭ. Поляков-6991
- Просмотры: 39
- Изменено: 16 февраля 2025
(Е. Джобс) На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- К этой записи дописываются справа еще два разряда по следующему правилу:
- a) складываются все цифры двоичной записи числа \(N,\) и остаток от деления суммы на \(2\) дописывается в конец числа (справа). Например, запись \(11100\) преобразуется в запись \(111001;\)
- b) над этой записью производятся те же действия — справа дописывается остаток от деления суммы её цифр на \(2.\)
- Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа \(N)\) является двоичной записью искомого числа \(R.\)
Укажите такое наименьшее число \(N,\) для которого результат работы данного алгоритма больше числа \(89.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += str(bn.count('1') % 2)
bn += str(bn.count('1') % 2)
return int(bn, 2)
for N in range(1, 1000):
if R(N) > 89:
print(N)
break
Ответ: \(22\)