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, не превышающее 170, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. maxi = 0for n in range(4, 1000): 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 < 170 and r > maxi: maxi = rprint(maxi)
Осталось ещё 2 шага
Приведём решение Сергея Донец на языке…
and (r > maxR) then maxR :=…
Бесплатно · займёт минуту