На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются еще несколько разрядов по следующему правилу:
а) если N чётное, то к двоичной записи слева
б) если N нечётное, то к нему справа приписываются два нуля, а слева единица.
Полученная таким образом запись (в ней как минимум на два разряда больше, чем в записи исходного числа N является двоичной записью искомого числа R.
Укажите максимальное R, при условии что N
Приведём решение на языке Python.
maxi = 0
for n in range(1,12 + 1):
s = bin(n)[2:]
if n % 2 == 0:
s = "10" + s
else:
s = "1" + s + "00"
r = int(s, 2)
maxi = max(maxi, r)
print(maxi)
Ответ: 108.

