Решение: Максимальное значение R
На вход алгоритма подаётся натуральное число $N$. Алгоритм строит по нему новое число $R$ следующим образом.
1. Строится двоичная запись числа $N$.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число чётное, то к двоичной записи числа слева дописывается 10;
б) если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01.
Полученная таким образом запись является двоичной записью искомого числа $R$.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа $4_{10}=100_2$ результатом является число $20_{10}=10100_2$, а для исходного числа $5_{10}=101_2$ это число $53_{10}=110101_2$.
Укажите максимальное число $R$, которое может быть результатом работы данного алгоритма, при условии, что $N$ не больше 12. В ответе запишите это число в десятичной системе счисления.
Решение по шагам
4 шагаПроверим значения $N$ от 1 до 12. Для чётных чисел слева приписывается 10, а для нечётных — 1 слева и 01 справа.
Для наибольшего подходящего нечётного числа $N=11$ имеем $11_{10}=1011_2$. После обработки получается двоичная запись $1101101_2$.
$$1+1011+01=1101101_2$$Переведём полученную запись в десятичную систему.
$$1101101_2=64+32+8+4+1=109_{10}$$Для остальных значений $N\leq 12$ получаются меньшие числа; например, для $N=12$ запись равна $101100_2=44_{10}$.
Где здесь ошибаются
Приписывают дополнительные цифры справа для чётного числа.
Забывают, что результат сначала формируется в двоичной системе, а затем переводится в десятичную.
Не проверяют все натуральные значения $N$ от 1 до 12.