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

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

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

  1. Строится восьмеричная запись числа \(N.\)
  2. Все чётные цифры записи заменяются на \(1.\)
  3. К строке приписывается остаток от деления числа \(N\) на \(8.\)
  4. Число переводится в десятичную систему счисления.
  5. Затем действия 1-4 повторяются ещё один раз.

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

Решение:

Python


def R(N):
    on = f'{N:o}'
    on = on.replace('0', '1').replace('2', '1')
    on = on.replace('4', '1').replace('6', '1')
    on += str(N % 8)
    tmp = int(on, 8)
    on = f'{tmp:o}'
    on = on.replace('0', '1').replace('2', '1')
    on = on.replace('4', '1').replace('6', '1')
    on += str(N % 8)
    return int(on, 8)

print(max(R(N) for N in range(1000, 10000) if R(N) % 234 == 0))

Ответ: \(244296\)