Задание 5. Информатика. ЕГЭ. Поляков-7386

Просмотры: 334
Изменено: 25 ноября 2024

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

  1. Строится запись числа \(N\) в восьмеричной системе счисления.
  2. Далее эта запись обрабатывается по следующему правилу:
    а) если сумма цифр в восьмеричной записи числа чётная, то к этой записи дописываются слева и справа первая цифра его восьмеричной записи;
    б) если сумма цифр в восьмеричной записи числа нечётная, то к этой записи дописывается справа последняя цифра его восьмеричной записи.

Полученная таким образом запись является восьмеричной записью искомого числа \(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\)