Демонстрационный вариант ЕГЭ 2027 по информатике – задание №14
Вариант 1
Операнды арифметического выражения записаны в системе счисления с основанием 22.
27×9887622 + 26×5122 + 711×522
В записи чисел переменной x обозначена неизвестная цифра из алфавита 22-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 21. Для найденного x вычислите частное от деления значения арифметического выражения на 21 и укажите его в ответе в десятичной системе счисления.
Основание системы счисления указывать не нужно.
Ответ:
Решение:
Решение на Python —
Переберём все возможные значения цифры x в 22-ричной системе счисления.
В 22-ричной системе используются цифры:
|
1 |
0, 1, 2, ..., 9, a, b, ..., l |
Используем следующий код:
|
1 2 3 4 5 6 7 8 9 |
from string import * for x in printable[:22]: s = int(f'27{x}98876', 22) + int(f'26{x}51', 22) + int(f'711{x}5', 22) if s % 21 == 0: print(x, s // 21) break |
Функция
|
1 |
int(..., 22) |
переводит число из 22-ричной системы счисления в десятичную.
Для каждого возможного значения x вычисляем значение выражения:
27×9887622 + 26×5122 + 711×522
Затем проверяем, делится ли полученное число на 21 без остатка:
|
1 |
s % 21 == 0 |
Так как требуется найти наименьшее значение x, после первого подходящего значения завершаем перебор командой break.
Программа выводит:
|
1 |
3 276296118 |
Значит, наименьшее подходящее значение:
x = 3
Частное от деления значения выражения на 21 равно:
276296118
Ответ: 276296118
Вариант 2
Значение арифметического выражения
3 ∙ 31258 + 2 ∙6257 – 4 ∙6256 + 3 ∙1255 – 2 ∙254 – 2025
записали в системе счисления с основанием 25. Сколько значащих нулей содержится в этой записи?
Ответ:
Решение:
Решение на Python —
Вычислим значение выражения:
3 · 31258 + 2 · 6257 − 4 · 6256 + 3 · 1255 − 2 · 254 − 2025
После этого определим, сколько нулей содержится в его записи в системе счисления с основанием 25.
|
1 2 3 4 5 6 7 8 9 10 11 |
n = 3*3125**8 + 2*625**7 - 4*625**6 + 3*125**5 - 2*25**4 - 2025 k = 0 while n > 0: if n % 25 == 0: k += 1 n = n // 25 print(k) |
При переводе числа в систему счисления с основанием 25 очередная цифра определяется как остаток от деления числа на 25:
|
1 |
n % 25 |
Если остаток равен нулю, то очередная цифра 25-ричной записи равна 0. В этом случае увеличиваем счётчик:
|
1 2 3 |
if n % 25 == 0: k += 1 |
Затем выполняем целочисленное деление на 25 и переходим к следующей цифре:
|
1 |
n = n // 25 |
После обработки всех цифр программа выводит:
|
1 |
10 |
Следовательно, в 25-ричной записи данного числа содержится 10 значащих нулей.
Ответ: 10
Вариант 3
Значение арифметического выражения 7170 + 7100 – x, где x – целое положительное число, не превышающее 2030, записали в 7-ричной системе счисления. Определите наибольшее значение x, при котором в данной записи значения арифметического выражения содержится ровно 71 нуль.
В ответе запишите число в десятичной системе счисления.
Ответ:
Решение:
Решение на Python —
Переберём все целые положительные значения x, не превышающие 2030.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
for x in range(1, 2031): a = 7**170 + 7**100 - x k = 0 while a > 0: if a % 7 == 0: k += 1 a = a // 7 if k == 71: print(x) |
Для каждого значения x вычисляем:
7170 + 7100 − x
Далее переводим полученное число в 7-ричную систему счисления. Для этого последовательно делим число на 7.
Остаток от деления на 7 является очередной цифрой 7-ричной записи. Если
|
1 |
a % 7 == 0 |
то очередная цифра равна 0, поэтому увеличиваем счётчик нулей:
|
1 |
k += 1 |
После проверки всей записи оставляем только те значения x, для которых количество нулей равно 71:
|
1 2 |
if k == 71: print(x) |
Так как требуется наибольшее подходящее значение x, берём последнее число, выведенное программой.
Наибольшее такое значение:
|
1 |
2029 |
Ответ: 2029
