Условие:
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия — справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, которое превышает 43 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.
Идея решения:
1. Перебираем натуральные числа (взяла с запасов 1000).
2. Переводим число в двоичную систему счисления. Как переводить числа из одной СС в другую ищи тут
3. Считаем сумму цифр получившегося числа (достаточно просто посчитать количество единиц). Исходя из суммы, добавляем остатки к числу по условию задачи. Важно понимать, что если мы к нечетному числу добавим одну единицу, число станет четным
4. Далее переводим число в десятичную сиситему счисления и проверяем условие.
5. Цикл прерываем с помощь break, чтобы не получить много лишних значений
Решение: