1. Главная
  2. Библиотека
  3. Программирование
  4. На вход алгоритма подаётся натуральное число N. Алгорит...
Решение задачи на тему

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

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

Условие:

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи числа N, и остаток от деления суммы на 2 дописывается в конец числа (справа).
Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью результирующего числа R. Укажите такое наименьшее число N, для которого результат работы данного алгоритма больше числа 77. В ответе это число запишите в десятичной системе счисления.

Решение:

Запишем алгоритм подробнее. Пусть задано натуральное число N. Его двоичная запись обозначим как b. Далее алгоритм делает следующие шаги:

  1. Находим сумму цифр двоичной записи числа N. Обозначим её как S. При этом S является числом, равным количеству единиц в записи N.
  2. Вычисляем остаток от деления S на 2, то есть c₁ = S mod 2, и дописываем его справа к записи b.
  3. Теперь снова считаем сумму цифр полученной записи (то есть сумму единиц как в исходной записи, так и c₁). Обозначим её S = S + c₁.
  4. Вычисляем c₂ = S mod 2 и дописываем его к правому краю записи.
  5. Полученная запись – это двоич...

Выбери предмет