Задание 14 ЕГЭ по информатике: позиционные системы счисления

Задание 14 ЕГЭ по информатике проверяет знание позиционных систем счисления: нужно найти неизвестную цифру в записи чисел или посчитать цифры в записи большого выражения. Такие задания решают через свойства степеней основания или короткой программой, которая переводит число в нужную систему.

Как решать

Запись aₖ…a₁a₀ в системе с основанием b означает число aₖ·bᵏ + … + a₁·b + a₀. Из этого следуют два свойства, на которых держится задание. Число bᵏ записывается единицей и k нулями. Основание b при делении на b − 1 даёт остаток 1, поэтому остаток числа от деления на b − 1 равен остатку суммы его цифр, как признак делимости на 9 в десятичной системе.

Задание с неизвестной цифрой x. Если делитель на единицу меньше основания, сложите все цифры всех слагаемых: x войдёт в сумму столько раз, сколько раз он встречается в записи. Подберите наименьший x, при котором сумма делится на делитель, и вычислите частное. Цифра x принимает значения от 0 до b − 1, буквы обозначают цифры больше 9: A = 10, B = 11 и так далее.

Подсчёт цифр в записи выражения. Представьте каждое слагаемое степенью основания: 49¹⁵ = 7³⁰. Сумма разных степеней записывается единицами на соответствующих местах, а разность bᵐ − bⁿ записывается m − n старшими цифрами b − 1 и n нулями после них: для основания 7 это шестёрки.

На экзамене есть компьютер со средами программирования, а Python работает с целыми числами любой длины. Программа переводит число в нужную систему делением с остатком: n % b даёт очередную цифру справа, n //= b переходит к следующей. Для задания с неизвестной цифрой удобна функция int(строка, основание).

Примеры с решением

Пример 1

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

8x4C1₁₅ + 3x9₁₅ + 5Dx₁₅

Буквой x обозначена неизвестная цифра 15-ричной системы счисления. Найдите наименьшее значение x, при котором значение выражения делится на 14 без остатка, и запишите в ответе частное от деления значения выражения на 14 в десятичной системе счисления.

Проверка ответа на Python

DIGITS = '0123456789ABCDE'


def value(template, x):
    """Число по записи в 15-ричной системе, где вместо x стоит цифра x."""
    return int(template.replace('x', DIGITS[x]), 15)


for x in range(15):
    total = value('8x4C1', x) + value('3x9', x) + value('5Dx', x)
    if total % 14 == 0:
        print(total // 14)
        break

Ответ: 30360

Число 15 при делении на 14 даёт остаток 1, поэтому остаток всего выражения равен остатку суммы цифр. Цифры первого числа дают 8 + x + 4 + 12 + 1 = 25 + x, второго — 12 + x, третьего — 5 + 13 + x = 18 + x. Сумма 55 + 3x должна делиться на 14. Число 55 даёт остаток 13, значит, 3x должно давать остаток 1; наименьшее такое x = 5. При x = 5 выражение равно 425 040, а частное — 30 360.

Пример 2

Значение арифметического выражения 3·49¹⁵ + 2·7²⁰ − 7⁹ + 16 записали в системе счисления с основанием 7. Сколько цифр 6 содержится в этой записи?

Проверка ответа на Python

n = 3 * 49**15 + 2 * 7**20 - 7**9 + 16
sixes = 0
while n > 0:
    if n % 7 == 6:
        sixes += 1
    n //= 7
print(sixes)

Ответ: 11

Число 49¹⁵ равно 7³⁰, слагаемое 3·7³⁰ даёт цифру 3 в тридцатом разряде. Разность 2·7²⁰ − 7⁹ равна 7²⁰ + (7²⁰ − 7⁹); второе слагаемое записывается одиннадцатью шестёрками в разрядах с девятого по девятнадцатый и девятью нулями. Число 16 = 22₇ ставит двойки в два младших разряда на место нулей. Шестёрок в записи 11.

Пример 3

Значение арифметического выражения 5⁶⁰ + 5³⁰ − x, где x — натуральное число, не превышающее 2030, записали в пятеричной системе счисления. Определите наибольшее значение x, при котором в этой записи содержится ровно 33 нуля. В ответе запишите число в десятичной системе счисления.

Проверка ответа на Python

def zeros_base5(n):
    zeros = 0
    while n > 0:
        if n % 5 == 0:
            zeros += 1
        n //= 5
    return zeros


answer = None
for x in range(1, 2031):
    if zeros_base5(5**60 + 5**30 - x) == 33:
        answer = x                   # перебор по возрастанию: останется наибольший x
print(answer)

Ответ: 2000

Запишем выражение как 5⁶⁰ + (5³⁰ − 1) − (x − 1). Число 5³⁰ − 1 записывается тридцатью четвёрками, и вычитание x − 1 идёт без заёмов: каждая цифра становится равной 4 − d, где d — цифра записи x − 1. Разряды с 30-го по 59-й дают 30 нулей, остальные нули появляются там, где у x − 1 стоит цифра 4. Значит, в записи x − 1 должно быть ровно три четвёрки. Наибольшее такое x − 1, не больше 2029, — это 1999 = 30444₅, откуда x = 2000.

Типичные ошибки

Потренироваться на тренажёре

Частые вопросы

Можно ли в задании 14 пользоваться Python?

Да. Спецификация не требует специальных программ для этого задания, но компьютер со средами программирования на экзамене есть, и Python работает с числами любой длины без переполнения.

Как перевести число в систему с основанием больше 10?

Делите число на основание и записывайте остатки справа налево. Остатки больше 9 обозначаются буквами: 10 — A, 11 — B и дальше по алфавиту.

Официальные материалы

Другие задания

Все задания и структура экзамена — на странице ЕГЭ по информатике. Соседние разборы: задание 13 и задание 15.

Описание задания сверено 28 сентября 2026 года со спецификацией 2027 года (документы 2027 года). Примеры составлены нами по структуре демоверсии, каждое решение запущено, и напечатанный им ответ совпадает с ответом на странице. Кодолимп не связан с разработчиками экзамена. Заметили неточность — напишите нам.