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