На вход алгоритма подается натуральное число N. Я решил опробовать этот алгоритм на числе, которое больше 97. Вместо того, чтобы просто вычислить R, я решил пошагово расписать каждое действие, чтобы все было более наглядно.Возьмем число 98. Сначала строиться двоичная запись этого числа, которая будет равна 1100010. После этого дописываем справа два новых разряда по указанному правилу.1. Сложим все цифры двоичной записи⁚ 1 1 0 0 0 1 0 3. Получили сумму 3.
2. Вычисляем остаток от деления суммы цифр на 2⁚ 3 mod 2 1. Дописываем полученный остаток в конец числа, получаем 11000101.
3. Повторяем процесс для новой записи.
⎻ Снова складываем цифры⁚ 1 1 0 0 0 1 0 1 4.
‒ Вычисляем остаток от деления⁚ 4 mod 2 0. Дописываем 0 в конец числа.
Получили число 110001010. Но по условию задачи нам нужно найти наименьшее число N, которое больше 97. Поэтому продолжим процесс с числом 99.1. Двоичная запись числа 99⁚ 1100011.2. Сумма цифр⁚ 1 1 0 0 0 1 1 4.
3. Остаток от деления⁚ 4 mod 2 0. Дописываем 0.
Теперь получили число 11000110. Однако оно все еще больше 97. Последняя попытка ‒ число 100.1. Двоичная запись числа 100⁚ 1100100.2. Сумма цифр⁚ 1 1 0 0 1 0 0 4.
3. Остаток от деления⁚ 4 mod 2 0. Дописываем 0.
Таким образом, наименьшее число N, которое больше 97, будет равно 100 и соответствующее ему R ‒ 11001000.
Я проверил этот алгоритм и на других числах, и получил аналогичные результаты. Если интересно, можете также опробовать его на других числах и проверить самостоятельно.