Задание №14 — Анализ выражений
Операнды арифметического выражения записаны в системе счисления с основанием 19.
В записи чисел переменной х обозначена неизвестная цифра из алфавита 19-ричной системы счисления. Определите наибольшее значение х, при котором значение данного арифметического выражения кратно 18. Для найденного х вычислите частное от деления значения арифметического выражения на 18 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.
Правильный ответ
3632718098
Пояснение
Решение:
Основание 19, делитель . Так как , число сравнимо по модулю 18 с суммой своих 19-ричных цифр, поэтому достаточно потребовать делимости на 18 суммы цифр всех слагаемых.
- : ;
- : ;
- : .
Всего , то есть , откуда . Подходят ; наибольшее — .
Подставляем и делим сумму на 18:
b = 19
def num(ds):
n = 0
for d in ds:
n = n * b + d
return n
for x in range(b - 1, -1, -1): # ищем наибольшее x
s = (num([3, x, 2, x, 1, x, 0, x, 1])
+ num([x, 2, 0, 2, 4])
+ num([1, x, 0, 7, 7]))
if s % 18 == 0:
print(x, s // 18) # 16 3632718098
breakОтвет: 3632718098