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

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

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

2.  К этой записи дописываются справа ещё два разряда по следующему правилу: складываются все цифры двоичной записи, если

а)  сумма нечетная к числу дописывается 11,

б)  сумма четная, дописывается 00.

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

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

Решение.

Переведем число 11410 в двоичную систему: 11410 = 111 00102. Отсюда узнаем число на входе  — 111002. Следуя алгоритму, нужно проверить четность единиц. Количество единиц нечетно, следовательно, нужно добавить две единицы. Получаем число 115, оно и является ответом, так как оно больше 114 и наименьшее из возможных.

 

Ответ: 115.

 

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

for n in range(1, 100):

summa = 0

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

s = str(s)

for i in range(len(s)):

summa += int(s[i])

if summa % 2 != 0:

s += "11"

else:

s += "00"

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

if r > 114:

print(r)

break

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