14 задание ЕГЭ информатика
Позиционные системы счисления
1 балл ≈ 3 мин уровень П
Задание 14 – значение выражения со степенями записывают в системе с основанием b; нужно посчитать цифры с условием. Или найти неизвестную цифру x в записях чисел в разных системах, чтобы выполнялось равенство или делимость. 1 балл. Python работает с большими числами точно.
Перевод в систему с основанием b
def to_base(x, b):
d = []
while x > 0:
d.append(x % b)
x //= b
return d[::-1] # список цифр (числовых значений)
x = 4**20 + 2**30 - 16
print(bin(x).count("1")) # единицы в двоичной записи: 27
digits = to_base(x, 27)
print(sum(1 for c in digits if c > 9))
Цифры больших систем удобнее хранить числами, а не буквами – сравнивать проще.
Неизвестная цифра x
for x in range(15): # x – цифра системы с основанием 15
a = int(f"97{x:X}68", 15) # f-строка подставит цифру (A..E для 10..14)
b = int(f"7{x:X}233", 15)
if (a + b) % 13 == 0:
print(x, (a + b) // 13) # x = 11 (цифра B)
break
int(строка, основание) работает для оснований до 36.
Разобранный пример (устно). Сколько единиц в двоичной записи 420 + 230 − 16? 420 = 240 – одна единица. 230 − 24 = 229 + … + 24 – 26 единиц. Итого 27.
Правило: (n > m) в системе с основанием b – это (n − m) цифр «b − 1», за ними m нулей.
Ловушки: «цифры со значением больше 9» – это A, B, … (10, 11, …); в задачах с x цифра x должна быть меньше основания каждой системы, где она встречается; не перепутай // и /.
- Python считает 2187**2020 точно и быстро – не упрощай вручную, если можно посчитать.
- Перевод «вниз» – остатки от деления, «вверх» – int(s, b).
- Цифра x ограничена самым маленьким основанием среди чисел, где она стоит.
Разобранные задания 14 из открытого банка ФИПИ
Пример 1 · код ФИПИ B44A04
Сколько существует натуральных чисел x, для которых выполняется неравенство 100110112 < x < 100111112?
В ответе укажите только количество чисел, сами числа писать не нужно.
Показать ответ и решение
Ответ: 3
10011011₂ = 155, 10011111₂ = 159. Между ними 156, 157, 158 – 3 числа.
Пример 2 · код ФИПИ 5BFD7A
Операнды арифметического выражения записаны в системе счисления с основанием 22.
98x7964122 + 36x1422+ 73x422
В записи чисел переменной x обозначена неизвестная цифра из алфавита 22-ричной системы счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 21. Для найденного x вычислите частное от деления значения арифметического выражения на 21 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.
Показать ответ и решение
Ответ: 1116743619
Перебираем все цифры x основания, вычисляем значение выражения и проверяем делимость.
Подходят x = 4, 11, 18; наибольший 18. Частное: 1116743619.
Пример 3 · код ФИПИ D4ACB2
Значение арифметического выражения
7 512120 6 64100 + 8210 255
записали в системе счисления с основанием 8. Сколько цифр 0 содержится в этой записи?
Показать ответ и решение
Ответ: 151
Количество нулей в восьмеричной записи.
Значение считаем точно (длинная арифметика Python) и переводим в нужную систему: 151.
Частые вопросы о задании 14
Сколько баллов даёт задание 14 ЕГЭ по информатике?
Максимум – 1 первичный балл. Норма времени на экзамене – около 3 мин. Уровень сложности – П.
Что проверяет задание 14?
Задание 14 – значение выражения со степенями записывают в системе с основанием b; нужно посчитать цифры с условием. Или найти неизвестную цифру x в записях чисел в разных системах, чтобы выполнялось равенство или делимость. 1 балл. Python работает с большими числами точно.
Как подготовиться к заданию 14?
Прочитайте теорию выше: алгоритм, нужные факты и ловушки. Затем решите подход из 10 заданий с автопроверкой и разбором – первые без регистрации – и вернитесь к ошибкам. В пробниках Сотки номер встречается в полных вариантах ФИПИ с подсчётом баллов.