Задание 5. Информатика. ЕГЭ. Поляков-7386
- Просмотры: 334
- Изменено: 25 ноября 2024
(А. Минак) На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится запись числа \(N\) в восьмеричной системе счисления.
- Далее эта запись обрабатывается по следующему правилу:
а) если сумма цифр в восьмеричной записи числа чётная, то к этой записи дописываются слева и справа первая цифра его восьмеричной записи;
б) если сумма цифр в восьмеричной записи числа нечётная, то к этой записи дописывается справа последняя цифра его восьмеричной записи.
Полученная таким образом запись является восьмеричной записью искомого числа \(R\). Например, для исходного числа \(17 = 21_8\) результатом является число \(211_8 = 137\), а для исходного числа \(25 = 31_8\) это число \(3313_8 = 1739\).
Укажите максимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), меньшее \(1100\).
Решение:
Python
def R(N):
c = oct(N)[2:]
sc = sum(int(x) for x in c)
if sc % 2 == 0:
c = c[0] + c + c[0]
else:
c = c + c[-1]
return int(c, base=8)
a = [N for N in range(1, 400) if R(N) < 1100]
print(a[-1])
Ответ: \(136\)