Присоединиться

11 класс·средний уровень

Укажите наибольшее число R, меньшее 109, которое может получиться после

Условие

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

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Заметим, что если число нечётное, то в конец его двоичной записи добавляются цифры 01, а если чётное — цифры 10.Рассмотрим числа, меньшие 109, и найдем максимальное число, которое является результатом работы алгоритма. 108₁₀ = 110 1100₂ — не может являться результатом работы алгоритма.107₁₀ = 110 1011₂ — не может являться результатом работы алгоритма.106₁₀ = 110 1010₂ — является результатом работы алгоритма.

Осталось ещё 2 шага

  1. Приведём другое решение на языке Python. for…

  2. # перевод в десятичную систему if r <…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Анализ и построение алгоритмов для исполнителей»