ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 5038. ФИПИ 2025

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

  1.  Строится двоичная запись числа N.
  2.  К этой записи дописываются справа ещё два разряда по следующему правилу:
    • складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
    • над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.
      Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
  3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 1210 = 11002 результатом является число 1100002 = 4810, а для исходного числа 710 = 1112 это число 111102 = 3010.

Укажите такое наименьшее число N, для которого результат работы алгоритма больше числа 253.

В ответе запишите это число в десятичной системе счисления.

def f(num):
    return num + str(num.count("1") % 2)


for N in range(1, 100):
    N_bin = f'{N:b}'
    R_bin = f(f(N_bin))
    R = int(R_bin, 2)

    if R > 253:
        print(N)
        break
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие