ЕГЭ по информатике 2026 · задание 14 из 27
ЕГЭ по информатике 2026, задание 14: системы счисления
Задание 14 — повышенный уровень, 1 балл. Числа и выражения записаны в разных системах счисления. Нужно найти основание, цифру или число подходящих оснований. Файла нет.
ФИПИ советует начинать с перевода в одну систему, обычно в ту, у которой основание меньше. Типичная ошибка — арифметика в недесятичной системе: вычитание единицы из 1010000₂ «в столбик» с переносом.
Конспект
Цифра не может быть больше или равна основанию. Если в записи есть цифра C или x, основание больше этой цифры. Буквы: A=10, B=11, … F=15. В основаниях больше 36 стандартных цифр нет, такие основания на ЕГЭ редки и задаются явно.
Перевод в десятичную: d_n ... d0 в основании p равно d_n * p^n + ... + d0.
Обратный перевод: деление на основание с остатком, остатки пишут снизу вверх.
Типовые вопросы:
- найти основание p, при котором выражение равно данному числу;
- найти число решений уравнения относительно основания или цифры;
- посчитать, сколько чисел в данном основании обладают свойством.
Если уравнение содержит неизвестное основание p, переберите p от «максимальная цифра + 1» до разумной границы. Часто основание не больше 36, иногда до нескольких сотен — тогда не стройте строку, а считайте многочлен.
Прямое вычитание в двоичной системе отрабатывайте отдельно: 1000₂ − 1 = 111₂, не 0111 с потерей разряда.
Шаблон на Python
int(строка, основание) работает для оснований от 2 до 36. Для неизвестной цифры x перебирайте её как число и собирайте значение многочленом, не через буквы.
def from_base(digits, base):
value = 0
for d in digits:
if d >= base:
return None
value = value * base + d
return value
# уравнение вида 12x45_p = 6x7_p + число, цифры задайте числами
answers = []
for base in range(6, 100): # основание больше любой цифры
left = from_base([1, 2, 5, 4, 5], base) # пример записи
right = from_base([6, 5, 7], base)
if left is None or right is None:
continue
if left == right + 100:
answers.append(base)
print(answers)
print(int("101011", 2), bin(43)[2:])Типичные ошибки
- Основание не больше максимальной цифры, и запись всё равно принята.
int("12", 2)вызван для цифр больше 1 — будет исключение, его надо отсечь заранее.- Забыт перенос при вычитании единицы в двоичной записи.
- В ответ попали все основания, а просили минимальное.
Попробуйте объяснить с Мишкой
Бесплатный ИИ-репетитор объяснит любую тему так, как вам понятно — шаг за шагом.
Начать бесплатно