Задача #1773

Алгоритмы

Уровень ЕГЭ

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится четверичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если количество значащих цифр в четверичной записи числа чётное, то к этой записи в середину дописывается 0;
б) если количество значащих цифр в четверичной записи числа нечётное, то запись не изменяется.

Полученная таким образом запись является десятичной записью искомого числа R.

Например, для исходного числа 610 = 124 результатом является число 10210, а для исходного числа 2110 = 1114 результатом является число 11110.

Укажите максимальное число N, после обработки которого с помощью этого алгоритма, получается число R, не большее, чем 180. В ответе запишите это число в десятичной системе счисления.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

31

Видео по задаче

def from_10(n, base):
res = ''
while n != 0:
last = n % base
res = res + str(last)
n //= base
return res[::-1]


for n in range(1, 10**5):
n_4 = from_10(n, 4)
count_d = len(n_4)
if count_d % 2 == 0:
n_4 = n_4[:count_d//2] + '0' + n_4[count_d//2:]
r = int(n_4)
if r <= 180:
print(n)
Быстрый переход
Перейти к задаче