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

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

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

  1. Если число N четное, то оно делится на 2, иначе из него вычитается 1.
  2. Если полученное на предыдущем шаге число кратно 6, то оно делится на 6, иначе из него вычитается 1.
  3. Если полученное на предыдущем шаге число кратно 15, то оно делится на 15, иначе из него вычитается 1. Это число считается результатом работы алгоритма R.

Найдите минимальное число N, шестнадцатеричная запись которого содержит цифру C, а соответствующее число R равно 523.

Решение:

Python


from itertools import count

def R(N):
    if N % 2 == 0:
        N //= 2
    else:
        N -= 1
    if N % 6 == 0:
        N //= 6
    else:
        N -= 1
    if N % 15 == 0:
        N //= 15
    else:
        N -= 1
    return N

for N in count(1):
    if R(N) == 523 and hex(N).count('c'):
        print(N)
        break

Ответ: 3145