На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N. 2) К этой записи дописываются справа ещё два разряда по следующему правилу: а) в кон...

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N. 2) К этой записи дописываются справа ещё два разряда по следующему правилу: а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. б) к этой записи справа дописывается 1, если остаток от деления количества единиц на 2 равен 0, и 0, если остаток от деления количества единиц на 2 равен 1. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, которое превышает 54 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе. Пожалуйста, объясните алгоритм по-наглядней.
Гость
Ответ(ы) на вопрос:
Гость
1. Отметим, что приписывание к двоичному числу двух младших разрядов предполагает предварительный сдвиг этого числа влево на два разряда (что равносильно умножению на 2²=4), а затем установку двух младших разрядов в соответствующие приписываемым битам значения. Следовательно, можно записать, что 4N+a>43, где a - число, образованное приписываемыми справа битами, которое не может превышать 11(2)=3(10) 4N+[0..3]≥44, откуда минимальное N=11 Теперь запишем N=11 в двоичной системе и применим к нему заданный алгоритм. N=1011(2), число единиц три, нечетное, приписываем 1, получая 10111. Теперь число единиц четное, приписываем 0 и получаем R=101110(2). В десятичной записи ему соответствует число 46. Ответ: 46
Не нашли ответ?
Ответить на вопрос
Похожие вопросы