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

Просмотры: 21
Изменено: 14 апреля 2025

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

  1. Число \(N\) переводим в двоичную запись.
  2. Инвертируем все биты числа кроме первого.
  3. Переводим в десятичную запись.
  4. Складываем результат с исходным числом \(N.\)

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

Решение:

Python


def R(N):
    bn = f'{N:b}'
    t = bn[1:]
    t = t.replace('0', 'x').replace('1', '0').replace('x', '1')
    return N + int(bn[0] + t, 2)

for N in range(3, 1000, 2):
    if R(N) > 99:
        print(N)
        break

Ответ: \(65\)