На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
a) если число N делится на 3, то к этой записи дописываются три последние двоичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.
Полученная таким образом запись является двоичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 1210 = 11002 результатом является число 11001002 = 10010, а для исходного числа 410 = 1002 это число 100112 = 1910.
Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, меньшее 130.
Ответ:
Основная волна 10.06.2025 ЕГЭ по информатике – задание №5
Решение:
Решение на Python —
|
1 2 3 4 5 6 7 8 9 |
for n in range(1, 300): b = bin(n)[2:] if n%3 == 0: b = b + b[-3:] else: b = b + bin((n%3)*3)[2:] r = int(b, 2) if r<130: print(n) |
…
16
19
22
25
28
31
Ответ: 31
