На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится
б) если число N
Полученная таким образом запись является двоичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 12 = 11002 результатом является число 11001002 = 100, а для исходного числа 4 = 1002 результатом является число 100112 = 19.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее
Приведём решение на языке Python.
for n in range(100):
s = bin(n)[2:] # перевод в двоичную систему
s = str(s)
if n % 3 == 0:
s += s[-3:]
else:
k = (n % 3)* 3
s += bin(k)[2:]
r = int(s, 2) # перевод в десятичную систему
if r >= 76:
print(n)
break
Ответ: 11.

