При каком наименьшем исходном N результат на экране автомата будет
Условие
Автомат обрабатывает натуральное число N по следующему алгоритму:1. Строится двоичная запись числа N.2. В конец двоичной записи добавляются две первые цифры этой записи в обратном порядке.3. Результат переводится в десятичную систему и выводится на экран. Пример.
Дано число N = 11. Алгоритм работает следующим образом:1. Двоичная запись числа N: 1011.2. В конец записи добавляются цифры 01 — первые две цифры в обратном порядке (сначала вторая, затем первая), получается 101101.3. На экран выводится число 45. При каком наименьшем исходном N результат на экране автомата будет больше 90?
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Число на выходе должно превышать 90₁₀ = 1011010₂, тогда исходное число N должно быть больше или равно 10110₂ = 22₁₀.Рассмотрим числа N, большие или равные 22, и определим наименьшее из них, при котором результат на экране автомата будет больше 90:22₁₀ = 10110₂, результатом работы алгоритма будет число 1011001₂ = 89₁₀, что меньше 90;23₁₀ = 10111₂, результатом работы алгоритма будет число 1011101₂ = 93₁₀, что подходит под условие.
Таким образом, ответ —
Осталось ещё 4 шага
Приведём другое решение на языке Python. for…
# перевод в десятичную систему if r >…
if r > 90: print(n) break Приведём решение…
if r > 90: print(N) break Приведём решение…
Бесплатно · займёт минуту