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

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

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

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

Укажите минимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) не меньшее, чем \(35000.\) В ответе запишите это число в десятичной системе счисления.

Решение:

Python


def R(N):
    noct = f'{N:o}'
    if N % 5 == 0:
        noct += noct[:3]
    else:
        noct += f'{N % 5:b}'
    return int(noct, 8)

for N in range(8**2, 35000):
    if R(N) > 35000:
        print(N)
        break

Ответ: \(69\)