Разборы · ЕГЭ, задание 14
Задание 14 ЕГЭ по информатике: системы счисления
Что проверяет задание
В задании 14 нужно работать с числами в разных системах счисления: найти неизвестную цифру в записи операндов, посчитать нули или другие цифры в записи большого выражения. 1 балл. Числа здесь огромные, поэтому задание решают программой — в Python целые числа не переполняются.
Что нужно знать
- Перевод в десятичную систему по схеме Горнера: идём по цифрам слева направо, v = v · base + цифра.
int("27A", 22)работает для оснований до 36, но только когда цифры записаны символами 0–9, A–Z. Если цифра — переменная x, удобнее собирать число из списка цифр.- Перевод из десятичной системы: делим на основание с остатком, остатки — цифры справа налево.
- Цифра в системе с основанием q может быть от 0 до q − 1.
Как решать
- Напишите функцию перевода, в которой цифра x подставляется как число.
- Переберите x по всем цифрам системы.
- Проверьте условие и выведите то, что спрашивают (не всегда сам x!).
Пример из демоверсии 2027
Операнды записаны в системе с основанием 22: 27x98876₂₂ + 26x51₂₂ + 711x5₂₂. Найдите наименьшее x, при котором значение выражения кратно 21, и запишите частное от деления значения на 21 в десятичной системе.
def value(s, x, base=22):
v = 0
for ch in s:
d = x if ch == "x" else int(ch)
v = v * base + d
return v
for x in range(22):
total = value("27x98876", x) + value("26x51", x) + value("711x5", x)
if total % 21 == 0:
print(x, total // 21)
break
Программа выводит найденное x и частное. В ответ идёт частное: 276296118.
В других вариантах просят посчитать цифры в записи выражения вида 3 · 31258 + … в системе с основанием 25 — тогда вычисляем значение и делим его на основание в цикле, считая нужные остатки.
Типичные ошибки
- Используют
int(строка, 22)после замены x на число из двух цифр: «x = 15» превращается в две цифры 1 и 5. - Перебирают x от 1, хотя цифра 0 тоже допустима, или только до 9.
- Пишут в ответ x вместо частного.
- Делят через
/и получают дробное число с потерей точности — для больших чисел только//.
Потренироваться: задание 14 новые варианты с проверкой ответа