На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 5, то к этой записи дописывается справа две единицы;
б) если число N на 5 не делится, то результат целочисленного деления N на 5 переводится в двоичную систему счисления и дописывается в конец числа.
Полученная таким образом запись является двоичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 20 = 101002 результатом является число 10100112 = 83, а для исходного числа 14 = 11102 результатом является число 1110102 = 58.
Укажите минимальное чётное число N, для которого с помощью описанного
алгоритма получается число, превышающее 896. В ответе запишите это число в десятичной системе счисления
Приведём решение на языке Python.
for N in range(2, 1000,2):
S = bin(N)[2:]
if N%5 == 0:
R = S + '11'
else:
R = S + bin(N//5)[2:]
if int(R,2) > 896:
print(N)
break
Ответ: 56.

