Задание 5. Информатика. ЕГЭ. Шастин. 9.2.2025

Просмотры: 1360
Изменено: 10 февраля 2025

(Л. Шастин) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.

  1. Строится восьмеричная запись числа \(N.\)
  2. Далее эта запись обрабатывается по следующему правилу:
    • а) если число \(N\) чётное, то в этой записи все нечётные цифры меняются на «\(2\)»;
    • 6) если число \(N\) нечётное, то первая и последняя цифры меняются на «\(3\)».
    Полученная таким образом запись является восьмеричной записью искомого числа \(R.\)
  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\)