ЕГЭ · ЗАДАНИЕ 5
Алгоритмы обработки чисел · №4186
Натуральное N. Строится двоичная запись N. Для чётного N слева дописывают 10. Для нечётного N слева дописывают 1, а справа 01. Полученную запись переводят в десятичное R. Найдите минимальное N при R > 441. Ответ запишите в десятичной системе.
Источник задания
Сначала попробуй решить самостоятельно, затем открой разбор. Для автоматической проверки ответа включи JavaScript.
Показать решение по шагам
Разбор решения
Ответ: 47
Сначала постройте R для одного N по ветвям условия. В проверке используем r > 441; в список кладём n, потому что ответом требуется именно N. Затем берём минимум. Первое подходящее N при переборе по возрастанию минимально; найденный ответ лежит внутри указанного диапазона. Все меньшие допустимые N проверены.
def get_r(n):
s = bin(n)[2:]
if n % 2 == 0:
s = '10' + s
else:
s = '1' + s + '01'
return int(s, 2)
answers = []
for n in range(1, 1000):
r = get_r(n)
if r > 441:
answers.append(n)
print(min(answers))