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

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

Укажите минимальное число R, которое превышает 123 и может являться

Условие

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

  1. Строится двоичная запись числа N.

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

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, которое превышает 123 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.

Ответ

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

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

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

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

    Решение. Рассмотрим числа, большие 123, и найдем минимальное число, которое является результатом работы алгоритма. 124₁₀ = 1111100₂ — не может являться результатом работы алгоритма.125₁₀ = 1111101₂ — не может являться результатом работы алгоритма.126₁₀ = 1111110₂ — является результатом работы алгоритма.

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

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

  2. summa = f(s) s = s + str(summa %…

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

  4. s = s + str(s.count('1') %…

  5. if r > 123: print(r) break…

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

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

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