Задание №14 ЕГЭ Информатика с ответом и решением
Ответ: 2703
Условие
В числах F29x8EAD637 и BAxDE0C1B37 переменная x обозначает некоторую цифру из алфавита системы счисления с основанием 37. Определите наибольшее значение x, при котором произведение приведённых чисел кратно 36. В ответе запишите значение числа 1x237 в десятичной системе счисления.
Подсказки — как подойти к решению
- Делимость произведения на составное число проверяй через остатки: нужные множители должны найтись хотя бы в одном из чисел. Считать сами огромные значения при этом не обязательно.
- Неизвестная цифра стоит в разных разрядах обоих чисел, поэтому её вклад нелинеен — перебирай возможные цифры и проверяй условие. В ответе нужно десятичное значение короткого числа.
Решение
Приведём решение данной задачи на языке Python.
for x in range(0,37):
i1 = 15*37**8 + 2*37**7 + 9*37**6 + x*37**5 + 8*37**4 + 14*37**3 + 10*37**2 + 13*37 + 6
i2 = 11*37**8 + 10*37**7 + x*37**6 + 13*37**5 + 14*37**4 + 0*37**3 + 12*37**2 + 1*37 + 11
if (i1 * i2) % 36 == 0:
print(1*37**2 + x*37 + 2)
Ответ: 2703.
Приведём решение Георгия Вострикова на языке Python.
num1 = 'F29x8EAD6'
num2 = 'BAxDE0C1B'
for x in range(0, 37):
x1 = 0
x2 = 0
i = len(num1) - 1
for a in num1:
if (a != 'x'):
x1 += int(a, 36) * 37**i
i -= 1
else:
x1 += x * 37**i
i -= 1
i = len(num2) - 1
for b in num2:
if (b != 'x'):
x2 += int(b, 36) * 37**i
i -= 1
else:
x2 += x * 37**i
i -= 1
if (x1 * x2) % 36 == 0:
print(1*37**2 + x*37 + 2)
Типичные ошибки
- Ты остановился на предпоследней цифре алфавита. Проверь и самую старшую цифру: она на единицу меньше основания, и её тоже нужно перебрать.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №14 по информатике