ЕГЭ · ЗАДАНИЕ 5
Алгоритмы обработки чисел · №17859
Натуральное N. Строится двоичная запись N. Для чётного N слева дописывают 10. Для нечётного N слева дописывают 1, а справа 01. Полученную запись переводят в десятичное R. Найдите максимальное R при N ≤ 12. Ответ запишите в десятичной системе.
Источник задания
Сначала попробуй решить самостоятельно, затем открой разбор. Для автоматической проверки ответа включи JavaScript.
Показать решение по шагам
Разбор решения
Ответ: 109
Сначала постройте R для одного N по ветвям условия. В проверке используем True; в список кладём r, потому что ответом требуется именно R. Затем берём максимум. В условии задан весь диапазон N от 1 до 12, он проверен полностью.
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, 13):
r = get_r(n)
if True:
answers.append(r)
print(max(answers))