Задание 5
На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число следующим образом.
-
Строится двоичная запись числа .
-
Далее эта запись обрабатывается по следующему правилу:
а) если число чётное, то к этой записи справа и слева дописываются по две единицы;
б) если число нечётное, то в конец двоичной записи (справа) дописываются два нуля, а в начало (слева) дописывается единица.
Полученная таким образом запись (в ней на три или четыре разряда больше, чем в записи исходного числа ) является двоичной записью искомого числа .
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа результатом является число , а для исходного числа это число .
Укажите наименьшее число , превышающее 95, которое может быть результатом работы данного алгоритма. В ответе запишите это число в десятичной системе счисления.
Источник: ФИПИ, проект демоверсии ЕГЭ 2027, с. 9
Решение и ответ
Перебираем , строим по правилам и среди берём наименьшее.
res = [] for n in range(1, 1000): b = bin(n)[2:] b = '11' + b + '11' if n % 2 == 0 else '1' + b + '00' if int(b, 2) > 95: res.append(int(b, 2)) print(min(res))Например, — нечётное: . Меньших подходящих больше 95 нет.
Ответ: 100