Задание 5. Информатика. ЕГЭ 2024. Крылов-7
- Просмотры: 70
- Изменено: 24 ноября 2024
На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.
- Строиться двоичная запись числа \(N\).
- Далее эта запись обрабатывается по следующему правилу:
- если количество значащих цифр в двоичной записи числа чётное, то к этой записи в середину дописывается \(1\);
- если количество значащих цифр в двоичной записи нечётное, то запись не изменяется.
Полученная таким образом запись является двоичной записью искомого числа \(R\).
Например, для исходного числа \(5 = 101_2\) результатом является число \(101_2 = 5_{10}\), а для исходного числа \(2_{10} = 10_2\) результатом является число \(110_2 = 6_{10}\).
Укажите минимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), не меньшее, чем \(26\). В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
temp = bin(N)[2:]
s = len(temp)
if s % 2 == 0:
return int(temp[: s // 2] + '1' + temp[s // 2 :], 2)
else:
return N
N = 7
while R(N) < 26:
N += 1
print(N)
Ответ: \(12\)