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

№ 5036. Досрочная волна 2025

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

  1. Строится двоичная запись числа N.
  2. Далее эта запись обрабатывается по следующему правилу:
    • если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;
    • если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11;
      Полученная таким образом запись является четверичной записью искомого числа R.
  3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 410 = 1002 результатом является число 11012 = 1310.

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 480.

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

for N in range(1, 1000):
    R = f'{N:b}'
    # Если сумма цифр чётная
    if not (R.count('1') % 2):
        # Cлева 2 разряда на 10, справа + 0
        R = '10' + R[2:] + '0'
    else:
        # Cлева 2 разряда на 11, справа + 1
        R = '11' + R[2:] + '1'
    # В десятичную
    R = int(R, 2)

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

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

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