πЕГЭ · ИИ-репетитор12 предметов · задания ФИПИ
Главная → Информатика → Задания №14 → Задание i14-06

Задание №14 ЕГЭ Информатика с ответом и решением

Ответ: 470402599

Условие

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

98 x 79 641_19 плюс 36 x14_19 плюс 73x4_19.

В записи чисел переменной х обозначена неизвестная цифра из алфавита 19-⁠ричной системы счисления. Определите наибольшее значение х, при котором значение данного арифметического выражения кратно 18. Для найденного значения х вычислите частное от деления значения арифметического выражения на 18 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.

Подсказки — как подойти к решению

  1. Перебирай неизвестную цифру по всему алфавиту системы: в 19-ричной системе значения от 10 до 18 записываются латинскими буквами.
  2. Каждое из трёх слагаемых собирай строкой с подставленным символом и переводи в десятичную систему, а затем складывай все три значения.
  3. Подходящих цифр может оказаться несколько: раз нужно наибольшее значение x, просматривай алфавит до конца (или сохраняй все подходящие варианты) и только потом выбирай ответ; в ответ идёт частное от деления.

Решение

Приведём решение на языке Python.

maxi = []

for x in "0123456789ABCDEFGHI":

x1 = '98' + str(x) + '79641'

x2 = '36' + str(x) + '14'

x3 = '73' + str(x) + '4'

res = int(x1, 19) + int(x2, 19) + int(x3, 19)

if res % 18 == 0:

res = res // 18

maxi.append(res)

print(max(maxi))

Ответ: 470402599.

Приведём другое решение на языке Python.

maxi = []

for num in range(19):

a = list(reversed([9, 8, num, 7, 9, 6, 4, 1]))

b = list(reversed([3, 6, num, 1, 4]))

c = list(reversed([7, 3, num, 4]))

for i in range(8):

a[i] = a[i] * 19 ** i

for i in range(5):

b[i] = b[i] * 19 ** i

for i in range(4):

c[i] = c[i] * 19 ** i

if (sum(a) + sum(b)+ sum(c)) % 18 == 0:

maxi.append((sum(a) + sum(b)+ sum(c)) // 18)

print(max(maxi))

Приведём другое решение Крылова Матвея на языке Python.

for x in "0123456789abcdefghi":

if (int('98' + x + '79641', 19) + int('36' + x + '14', 19) + int('73' + x + '4', 19))%18==0:

print(x, (int('98' + x + '79641', 19) + int('36' + x + '14', 19) + int('73' + x + '4', 19))//18)

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

Решить это задание в тренажёре

В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №14 по информатике