N. Алгоритм строит по нему новое число R следующим образом.1. Строится
Условие
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.1. Строится двоичная запись числа N.2. Далее эта запись обрабатывается по следующему правилу:а) если число N делится на 3, то в этой записи дописываются справа три последние двоичные цифры;6) если число N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.
Полученная таким образом запись является двоичной записью искомого числа R.3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 12 = 1100₂ результатом является число 1100100₂ = 100, а для исходного числа 4 = 100₂ результатом является число 10011₂ = 19.Укажите максимальное число R, не превышающее 137, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. for n in range(1000, 0, -1): s = bin(n)[2:] # перевод в двоичную систему if n % 3 == 0: s += bin(n)[-3:] else: s += bin((n%3)*3)[2:] r = int(s,2) if r <= 137: print(r) break
Осталось ещё 2 шага
Приведём решения Сергея Донец на…
and (r > maxR) then maxR :=…
Бесплатно · займёт минуту