На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 1210 = 11002 результатом является число 1100002 = 4810, а для исходного числа 710 = 1112 это число 111102 = 3010.
Укажите такое наименьшее число N, для которого результат работы алгоритма больше числа 253.
В ответе запишите это число в десятичной системе счисления.
Ответ:
ФИПИ 2025 Открытый вариант ЕГЭ по информатике – задание №5
Решение:
Решение на Python —
|
1 2 3 4 5 6 7 8 |
for n in range(3, 1000): b = bin(n)[2:] b = b + str(b.count('1') % 2) b = b + str(b.count('1') % 2) r = int(b, 2) if r>253: print(n) break |
Ответ: 64