На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число чётное, то к двоичной записи числа слева дописывается 1, а справа — 0. Например, для исходного числа 1002 результатом будет являться число 11000;
б) если число нечётное, то к двоичной записи числа слева дописывается 11 и справа дописывается 11.
Полученная таким образом запись является двоичной записью искомого числа R.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число, большее, чем 52. В ответе запишите это число в десятичной системе счисления.
Добавлено: 10.05.26 17:00
Решение на Python:
res = []
for n in range(0, 100):
n2 = bin(n)[2:]
n2 = "1" + n2 + "0" if n % 2 == 0 else "11" + n2 + "11"
r = int(n2, 2)
if r > 52:
res.append(n)
print(min(res)) # 3Ответ: 3
Автор - rubygem17
None