OpenFIPI 2.0

Редактировать 1157D2

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится двоичная запись числа N.

2. К этой записи дописываются справа и слева ещё по одному или два разряда по следующему правилу: если N чётное, то в конец числа (справа) дописывается нуль, а в начало числа (слева) дописывается единица; если N нечётное, то в конец числа (справа) и в начало числа (слева) дописываются по две единицы.

Например, для числа 13 двоичная запись 1101 преобразуется в запись 11110111.

Полученная таким образом запись (в ней на два или четыре разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

Укажите наименьшее число R, превышающее 225, которое может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.

Комментарии

res = [] for n in range(1,1000): s = bin(n)[2:] if n%2==0: s = '1' + s + '0' else: s = '11' + s + '11' R = int(s,2) if R>225: res+=[R] print(min(res))