Задание 5. Информатика. ЕГЭ. Поляков-6989
- Просмотры: 38
- Изменено: 16 февраля 2025
(Е. Джобс) На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- Полученная запись переворачивается (записывается слева направо).
- В полученной записи дублируется младший (правый) бит.
Полученная таким образом запись (в ней на один разряд больше, чем в записи исходного числа \(N)\) является двоичной записью искомого числа \(R.\)
Например, для числа \(11\) алгоритм будет выполняться следующим образом:
- \(11 = 1011_2.\)
- \(1011 \to 1101_2.\)
- \(11011_2 = 27_{10}\)
Укажите минимальное число \(N\) в результате обработки которого получится число, большее \(99.\) В ответе запишите это число в десятичной системе.
Решение:
Python
def R(N):
bn = f'{N:b}'
bn = bn[::-1]
bn += bn[-1]
return int(bn, 2)
for N in range(1, 100):
if R(N) > 99:
print(N)
break
Ответ: \(39\)