Задание 5. Информатика. ЕГЭ. Поляков-7385
- Просмотры: 189
- Изменено: 24 ноября 2024
(А. Минак) На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится запись числа \(N\) в четверичной системе счисления (системе с основанием \(4\)).
- Далее эта запись обрабатывается по следующему правилу:
а) если число \(N\) делится на \(4\), то к этой записи дописываются две последние цифры четверичной записи;
б) если число \(N\) на \(4\) не делится, то остаток от его деления \(4\) умножается на \(5\), переводится в четверичную систему счисления и дописывается в конец числа.
Полученная таким образом запись является четверичной записью искомого числа \(R\). Например, для исходного числа \(17 = 101_4\) результатом является число \(10111_4 = 277\), а для исходного числа \(24 = 120_4\) это число \(12020_4 = 392\).
Укажите максимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), меньшее \(555\).
Решение:
Python
def conv(n):
a = ''
while n:
a = str(n % 4) + a
n //= 4
return a
def R(N):
t = conv(N)
t += t[-2:] if t[-1] == '0' else conv(N % 4 * 5)
return int(t, base=4)
a = [N for N in range(1, 400) if R(N) < 555]
print(a[-1])
Ответ: \(34\)