На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа N.
- Далее эта запись обрабатывается по следующему правилу:
а) если число N чётное, то к этой записи справа и слева дописываются по две единицы;
б) если число N нечётное, то в конец двоичной записи (справа) дописываются два нуля, а в начало (слева) дописывается единица.
Полученная таким образом запись (в ней на три или четыре разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 13₁₀ = 1101₂ результатом является число 1110100₂ = 126₁₀, а для исходного числа 6₁₀ = 110₂ это число 1111011₂ = 123₁₀.
Укажите наибольшее число R, не превышающее 113, которое может быть результатом работы данного алгоритма.
В ответе запишите это число в десятичной системе счисления.
Ответ:
Основная волна ЕГЭ по информатике 18.06.2026 – задание №5
Решение:
Решение на Python —
|
1 2 3 4 5 6 7 8 9 10 11 |
res = [] for n in range(1,1000): b = bin(n)[2:] if n % 2 == 0: b = '11' + b + '11' else: b = '1' + b + '00' r = int(b,2) if r <= 113: res.append(r) print(max(res)) |
Ответ: 108
