Задания
Версия для печати и копирования в MS Word
Тип 5 № 15846

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.

1.  Строится двоичная запись числа N.

2.  К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа – результата работы данного алгоритма.

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

Спрятать решение

Решение.

Переведем число 11510 в двоичную систему: 11510 = 11100 112. На выходе должно быть число большее, чем 11510. Уберём из числа 11100 112 два правых разряда. Получим число 111002 = 28. Это число не подходит, поскольку, если следовать алгоритму, получится число 112 меньше 115.. Возьмём число 2910 = 111012. Следуя алгоритму, проверим это число на чётность. Число 29 является нечётным, следовательно, добавим к двоичной записи числа 29 две единицы справа. Получим 11101112 = 11910.

 

Таким образом, минимальное число N, для которого результат работы алгоритма будет больше 115, равняется 29.

 

Ответ: 29.

 

Приведём другое решение на языке Python.

for n in range(1, 100):

s = bin(n)[2:] # перевод в двоичную систему

s = str(s)

if n % 2 == 0:

s += "00"

else:

s += "11"

r = int(s, 2) # перевод в десятичную систему

if r > 115:

print(n)

break

Источник: ЕГЭ — 2018. Досрочная волна. Вариант 2., ЕГЭ — 2018. Досрочная волна. Вариант 1.