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

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

(Е. Джобс) На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.

  1. Строится двоичная запись числа \(N.\)
  2. К этой записи дописываются разряды по следующему правилу: если два последних разряда одинаковые, дописывается \(0,\) иначе дописывается \(1.\)
  3. Пункт 2 выполняется повторно.

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

Решение:

Python


def R(N):
    bn = f'{N:b}'
    bn += '0' if bn[-1] == bn[-2] else '1'
    bn += '0' if bn[-1] == bn[-2] else '1'
    return int(bn, 2)

for N in range(10, 200):
    if R(N) > 93:
        print(N)
        break

Ответ: \(24\)