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