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

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

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

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

Укажите сумму таких \(N,\) при которых число, полученное в результате работы алгоритма, кратно \(2023.\)

Решение:

Python


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

print(sum(N for N in range(10000, 100000) if R(N) % 2023 == 0))

Ответ: \(197535\)