На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа N.
- Далее эта запись обрабатывается по следующим правилам:
- если число чётное, то к двоичной записи числа слева дописывается 10;
- если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01.
Полученная таким образом запись является двоичной записью искомого числа R.
Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 410 = 1002 результатом является число 101002 = 2010, а для исходного числа 510 = 1012 это число 1101012 = 5310.
Укажите минимальное число R, которое может быть результатом работы данного алгоритма, при условии, что N не меньше 17. В ответе запишите это число в десятичной системе счисления.
Ответ:
Резервная волна ЕГЭ по информатике 22.06.2026 – задание №5
Решение:
Решение на Python —
Для решения задачи можно перебрать значения N, построить для каждого из них число R по заданному алгоритму и выбрать минимальное значение при условии N ≥ 17.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
res = [] for n in range(1, 1000): b = bin(n)[2:] if n % 2 == 0: b = '10' + b else: b = '1' + b + '01' r = int(b, 2) if n >= 17: res.append(r) print(min(res)) |
Разберём программу:
bin(n)[2:]переводит число N в двоичную систему счисления без префикса0b;- если N чётное, слева к его двоичной записи добавляется
10; - если N нечётное, слева добавляется
1, а справа —01; int(b, 2)переводит полученную двоичную запись обратно в десятичную систему;- в список
resдобавляются результаты только для N ≥ 17; - функция
min(res)находит минимальное значение R.
Минимальное значение получается при N = 18.
Переведём 18 в двоичную систему:
1810 = 100102
Число 18 чётное, поэтому слева дописываем 10:
10 + 10010 = 10100102
Переведём результат в десятичную систему:
10100102 = 8210
Ответ: 82.
Ответ: 82