Какое наименьшее число, большее 93, может появиться на экране в
Условие
Автомат обрабатывает натуральное число N по следующему алгоритму:1. Строится двоичная запись числа N.2. Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.3. Предыдущий пункт повторяется для записи с добавленной цифрой.4. Результат переводится в десятичную систему и выводится на экран. Пример. Дано число N = 13. Алгоритм работает следующим образом:1. Двоичная запись числа N: 1101.2. Сумма цифр двоичной записи — 3, остаток от деления на 2 равен 1, новая запись: 11011.3. Сумма цифр полученной записи — 4, остаток от деления на 2 равен 0, новая запись: 110110.4. На экран выводится число 54. Какое наименьшее число, большее 93, может появиться на экране в результате работы автомата?
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Рассмотрим числа, большие 93, и найдем меньшее число, которое является результатом работы алгоритма.94 = 1011110₂ — не является результатом работы алгоритма.95 = 1011111₂ — не является результатом работы алгоритма.96 = 1100000₂ — является результатом работы алгоритма для числа 11000₂.
Осталось ещё 6 шагов
Приведём решение на языке Python. def f(s)…
summa = f(s) s = s + str(summa %…
# перевод в десятичную систему if r >…
if r > 93: print(r) break Приведём решение…
s = s + str(s.count('1') %…
if int(s,2)>93…
Бесплатно · займёт минуту