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

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

Какое наименьшее число, большее 97, может появиться на экране в

Условие

Автомат обрабатывает натуральное число N по следующему алгоритму.1. Строится двоичная запись числа N.2. Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.3. Предыдущий пункт повторяется для записи с добавленной цифрой.4. Результат переводится в десятичную систему и выводится на экран. Пример. Дано число N = 13. Алгоритм работает следующим образом.1. Двоичная запись числа N: 1101.2. Сумма цифр двоичной записи — 3, остаток от деления на 2 равен 1, новая запись 11011.3. Сумма цифр полученной записи — 4, остаток от деления на 2 равен 0, новая запись 110110.4. На экран выводится число 54. Какое наименьшее число, большее 97, может появиться на экране в результате работы автомата?

Ответ

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

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

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

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

    Решение. Рассмотрим числа, большие 97, и найдем меньшее число, которое является результатом работы алгоритма.98 = 1100010₂ — не является результатом работы алгоритма.99 = 1100011₂ — не является результатом работы алгоритма.100 = 1100100₂ — не является результатом работы алгоритма.101 = 1100101₂ — не является результатом работы алгоритма.102 = 1100110₂ — является результатом работы алгоритма для числа

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

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

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

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

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

  5. r = int(b,2) if r > 97: print(r) break…

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

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

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