(Е. Джобс) Автомат обрабатывает десятичное натуральное число \(N\) по следующему алгоритму:
Например, двоичная запись \(1010\) числа \(10\) будет преобразована в \(110100.\) Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа \(N)\) является двоичной записью числа — результата работы данного алгоритма. Укажите минимальное число \(N,\) для которого результат работы алгоритма будет больше \(228.\) В ответе это число запишите в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
bn = bn + '0' if N % 2 else '1' + bn
bn += '1' if bn.count('1') % 2 == 0 else '0'
return int(bn, 2)
print(min(N for N in range(1, 1000) if R(N) > 228))
Ответ: \(50\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене