Задание №14 — Анализ выражений
Операнды арифметического выражения записаны в системе счисления с основанием 21.
В записи чисел переменными x и y обозначены две неизвестные цифры из алфавита 21-ричной системы счисления. Определите наименьшее значение х, при котором значение данного арифметического выражения кратно 1810 при любом значении у. Для найденного значения х вычислите частное от деления значения арифметического выражения на 1810 при у = 5 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Правильный ответ
47594
Пояснение
Решение:
Распишем операнды по степеням основания 21:
,
.
Сумма: .
Найдём остатки степеней по модулю 18: , , , . Тогда
,
потому что , , и кратны 18. Слагаемое с исчезло — значит остаток и вправду не зависит от , как и требуется в условии.
Условие равносильно , то есть . В алфавите 21-ричной системы (цифры ) это ; наименьшее — .
При и : , и .
def num(digits, base):
v = 0
for d in digits:
v = v * base + d
return v
good = [x for x in range(21)
if all((num([1,2,y,x,9], 21) + num([3,6,y,9,9], 21)) % 18 == 0
for y in range(21))]
x = min(good)
print(good, x, (num([1,2,5,x,9], 21) + num([3,6,5,9,9], 21)) // 18)
Ответ: 47594