Задача #2886

Алгоритмы

Уровень ЕГЭ

(О. Лысенков) Автомат принимает на вход целое неотрицательное число и преобразует его по следующему алгоритму.

1) Число переводится в четверичную систему счисления.

2) Полученное число преобразуется по следующему алгоритму:
A) Если число чётное, то слева дописывается 12, справа значение младшего разряда четверичной записи, увеличенное в 3 раза и записанное в четверичной системе счисления.
B) Если число нечётное, то справа дописывается 21, слева 13.

3) Полученное четверичное число переводится в десятичную систему счисления и выводится на экран.

Укажите минимальное значение большее 50, которое может являться результатом работы автомата.

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

Ответ

96
def perevod(n):
if n == 0:
return '0'
s = ''
while n != 0:
s = str(n % 4) + s
n //= 4
return s
def f(n):
s = perevod(n)
if n % 2 == 0:
s = '12' + s + perevod(int(s[-1],4) * 3)
else:
s = '13' + s + '21'
return int(s,4)
mi = float('inf')
for i in range(0,1000):
if f(i) > 50:
mi = min(f(i),mi)
print(mi)
Быстрый переход
Перейти к задаче