Задание 5. Информатика. ЕГЭ 2024. Крылов-2
- Просмотры: 101
- Изменено: 24 ноября 2024
На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.
- Строиться четверичная запись числа \(N\).
- Далее эта запись обрабатывается по следующему правилу:
- если число \(N\) делится на \(4\), то к этой записи дописываются две последние четверичные цифры;
- если число \(N\) на \(4\) не делится, то остаток от деления умножается на \(2\), переводится в четверичную запись и дописывается в конец числа.
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа \(11 = 23_4\) результатом является число \(2312_4 = 182\), а для исходного числа \(12 = 30_4\) это число \(3030_4 = 204\).
Укажите максимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), меньшее \(369\).
Решение:
Python
def conv(n):
res = ''
while n:
r = n % 4
n //= 4
res = str(r) + res
return res
def R(N):
ans = conv(N)
r = N % 4
if r == 0:
ans += ans[-2:]
else:
ans += conv(2*r)
return int(ans, 4)
N = 11
for i in range(11, 1000):
if R(i) < 369:
N = i
print(N)
Ответ: \(89\)