МУМ5 → Информатика → разборы → демоверсия 2027 → № 14

Задание 14 демоверсии ЕГЭ 2027 по информатике

Позиционные системы счисления. Реши сам, потом открой решение.

Пример 1

Операнды арифметического выражения записаны в системе счисления с основанием 22.

27x9887622+26x5122+711x52227x98876_{22} + 26x51_{22} + 711x5_{22}

В записи чисел переменной xx обозначена неизвестная цифра из алфавита 22-ричной системы счисления. Определите наименьшее значение xx, при котором значение данного арифметического выражения кратно 21. Для найденного xx вычислите частное от деления значения арифметического выражения на 21 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.

Источник: ФИПИ, проект демоверсии ЕГЭ 2027, с. 15

Решение и ответ
  1. Перебираем цифру xx от 0 до 21, переводим каждое слагаемое в десятичную систему (схемой Горнера) и проверяем делимость суммы на 21.

  2. def num(s, x):
        v = 0
        for c in s:
            v = v * 22 + (x if c == 'x' else int(c))
        return v
    
    for x in range(22):
        s = num('27x98876', x) + num('26x51', x) + num('711x5', x)
        if s % 21 == 0:
            print(x, s // 21)
            break
    
  3. Наименьшее подходящее x=3x = 3, частное равно 276296118.

Ответ: 276296118

Пример 2

Значение арифметического выражения

3⋅31258+2⋅6257−4⋅6256+3⋅1255−2⋅254−20253 \cdot 3125^8 + 2 \cdot 625^7 - 4 \cdot 625^6 + 3 \cdot 125^5 - 2 \cdot 25^4 - 2025

записали в системе счисления с основанием 25. Сколько значащих нулей содержится в этой записи?

Источник: ФИПИ, проект демоверсии ЕГЭ 2027, с. 15

Решение и ответ
  1. Python работает с длинными числами, поэтому выражение можно вычислить точно и выписать его цифры в 25-ричной системе, отбрасывая по одной с конца.

  2. v = 3 * 3125**8 + 2 * 625**7 - 4 * 625**6 + 3 * 125**5 - 2 * 25**4 - 2025
    k = 0
    while v:
        k += v % 25 == 0
        v //= 25
    print(k)
    
  3. Цикл идёт, пока число не станет нулём, поэтому считаются только значащие нули. Их 10.

Ответ: 10

Пример 3

Значение арифметического выражения 7170+7100−x7^{170} + 7^{100} - x, где xx – целое положительное число, не превышающее 2030, записали в 7-ричной системе счисления. Определите наибольшее значение xx, при котором в данной записи значения арифметического выражения содержится ровно 71 нуль.

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

Источник: ФИПИ, проект демоверсии ЕГЭ 2027, с. 16

Решение и ответ
  1. Для каждого xx от 1 до 2030 вычисляем выражение, считаем нули в 7-ричной записи и запоминаем последнее (наибольшее) подходящее xx.

  2. best = 0
    for x in range(1, 2031):
        v, k = 7**170 + 7**100 - x, 0
        while v:
            k += v % 7 == 0
            v //= 7
        if k == 71:
            best = x
    print(best)
    
  3. Почему так: 7170+71007^{170} + 7^{100} в 7-ричной записи — единица, 69 нулей, единица и 100 нулей. Так как x<74x < 7^4, после вычитания получится: 1, 69 нулей, 0 на месте второй единицы, 96 шестёрок и четыре последние цифры числа 74−x=2401−x7^4 - x = 2401 - x. Нулей уже 70, значит, среди последних четырёх цифр нуль должен быть ровно один. При x=2030x = 2030: 371=10407371 = 1040_7 — два нуля; при x=2029x = 2029: 372=10417372 = 1041_7 — один.

Ответ: 2029