Укажите наибольшее число N, после обработки которого с помощью этого
Условие
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N.2. Далее эта запись обрабатывается по следующему правилу:а) если число N кратно 3, тогда в конец дописывается три младших разряда полученной двоичной записи;б) если число N не кратно 3, тогда в конец дописывается двоичная последовательность, являющаяся результатом умножения 3 на остаток от деления числа N на 3.Полученная таким образом запись является двоичной записью искомого числа R.Например, для исходного числа 5₁₀ = 101₂ результатом является число 101110₂ = 46₁₀, а для исходного числа 9₁₀ = 1001₂ результатом является число 1001001₂ = 73₁₀. Укажите наибольшее число N, после обработки которого с помощью этого алгоритма получается число R, меньшее 100. В ответе запишите это число в десятичной системе счисления.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. for i in range(100, 0, -1): s = bin(i)[2:] # перевод в двоичную систему s = str(s) if i % 3 == 0: s += s[-3:] else: s += bin(3*(i%3))[2:] r = int(s,
Осталось ещё 12 шагов
# перевод в десятичную систему if r <…
Приведём решение Евгения Джобса…
Следовательно, число увеличивается в 8 раз…
Проверяем по алгоритму: 1210 = 11002 →…
Для этого случая имеем два варианта — остаток…
В первом случае дописывается 112 (1 · 3), во…
Значит, нужно взять число, меньшее…
Тогда: 11 · 8 + 6 =…
Следовательно, наибольшее число, остаток…
Остаток равен 1.Дописывается два разряда…
Найдем максимальное число, которое может…
Следовательно, 22 — наибольшее число, остаток…
Бесплатно · займёт минуту