На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число следующим образом.
- Строится двоичная запись числа .
- Далее если исходное число чётное, то справа к построенной двоичной записи числа приписывается 0, если нечётное, то приписывается 1.
- Далее полученная на втором шаге алгоритма запись обрабатывается по следующему правилу: a) если количество единиц в двоичной записи кратно трём, то в этой записи два левых разряда заменяются на 11; б) если количество единиц в двоичной записи некратно трём, то в этой записи два левых разряда заменяются на 10.
Полученная таким образом запись является двоичной записью искомого числа . Например, для исходного числа , результатом является число , а для исходного числа результатом является число .
Укажите максимальное число , после обработки которого с помощью этого алгоритма получается число , не большее, чем 37. В ответе запишите это число в десятичной системе счисления.
Решение:
Решение на Python:
Ответ:
25