Задание 5. Информатика. ЕГЭ. Шастин. 9.2.2025
- Просмотры: 1360
- Изменено: 10 февраля 2025
(Л. Шастин) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится восьмеричная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если число \(N\) чётное, то в этой записи все нечётные цифры меняются на «\(2\)»;
- 6) если число \(N\) нечётное, то первая и последняя цифры меняются на «\(3\)».
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа \(9 = 11_8\) результатом является число \(33_8 = 27,\) а для исходного числа \(12 = 14_8\) это число \(24_8 = 20.\)
Укажите максимальное число \(R,\) меньшее \(300,\) которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
noct = oct(N)[2:]
if N % 2 == 0:
for ch in ('1', '3', '5', '7'):
noct = noct.replace(ch, '2')
else:
noct = '3' + noct[1:-1] + '3'
return int(noct, 8)
print(max(R(i) for i in range(400) if R(i) < 300))
Ответ: \(294\)