Задание 5. Информатика. ЕГЭ. Шастин. 30.11.2024

Просмотры: 339
Изменено: 26 декабря 2024

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

  1. Строится четверичная запись числа \(N\).
  2. Далее эта запись обрабатывается по следующему правилу:
    1. если число \(N\) делится на \(4\), то слева к четверичной записи приписывается «2», а справа «03».
    2. если число \(N\) на \(4\) не делится, то остаток от деления на \(4\) умножается на \(5\), переводится в четверичную запись и дописывается в конец четверичной записи.
    Полученная таким образом запись является четверичной записью искомого числа \(R.\)
  3. Результат переводится в десятичную запись и выводится на экран.

Например, для исходного числа \(11 = 23_4\) результатом является число \(2333_4 = 191.\)

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

Решение:

Python


def conv(N):
    ans = ''
    while N:
        ans = str(N % 4) + ans
        N //= 4
    return ans

def R(N):
    s = conv(N)
    if N % 4 == 0:
        s = '2' + s + '03'
    else:
        s += str(conv(N % 4 * 5))
    return int(s, 4)

a = [N for N in range(10, 570) if R(N) < 568]
print(max(a))

Ответ: \(34\)