Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Строится четверичная запись числа N.
- Далее эта запись обрабатывается по следующему правилу:
- если сумма цифр четверичной записи числа чётная, то к этой записи справа дописываются две последние четверичные цифры;
- если сумма цифр четверичной записи числа нечётная, то к этой записи слева дописывается 2, а справа дописывается 0.
Полученная таким образом запись является четверичной записью искомого числа R.
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 1110 = 234 результатом является число 22304 = 17210, а для исходного числа 1310 = 314 это число 31314 = 22110.
Укажите минимальное чётное число R, большее 120, которое может быть получено с помощью описанного алгоритма.
В ответе запишите это число в десятичной системе счисления
def convert(num):
result = ''
while num:
result += str(num % 4)
num //= 4
return result[::-1]
res = []
for N in range(1, 1000):
# Строим четверичную запись
R = convert(N)
# Если сумма цифр четверичной записи чётная
if sum(map(int, R)) % 2 == 0:
# 2 последние цифры
R += R[-2:]
# Если нечётная
else:
R = '2' + R + '0'
# Переводим в десятичную
R = int(R, 4)
# Формируем ответ
if R % 2 == 0 and R > 120:
res.append(R)
print(min(res))
