Операнды арифметического выражения записаны в системе счисления с основанием 23.
761x03523 + 338x93223
В записи чисел переменной х обозначена неизвестная цифра из алфавита 23-ричной системы счисления.
Определите наименьшее значение х, при котором значение данного арифметического выражения кратно 22.
Для найденного х вычислите частное от деления значения арифметического выражения на 22 и укажите его в ответе в десятичной системе счисления.
Основание системы счисления указывать не нужно.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 23-ричной системе
x — одна неизвестная цифра (0…22)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHIJKLMNOPQRSTUV"[:23]
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 23)
📌 Результат: функция to_num переводит 761x035<sub>23</sub> + 338x932<sub>23</sub> в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 22
DIGITS = "0123456789ABCDEFGHIJKLMNOPQRSTUV"[:23]
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 23)
for x in range(23):
val = to_num('761x035', x) + to_num('338x932', x)
if val % 22 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 22; находим наименьшее x, при котором сумма кратна 22.
🔹 Шаг 3. Частное от деления на 22
DIGITS = "0123456789ABCDEFGHIJKLM"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 23)
for x in range(23):
val = to_num('761x035', x) + to_num('338x932', x)
if val % 22 == 0:
print(val // 22)
break
📌 Результат: выводим частное от деления значения выражения на 22 (в десятичной системе); ответ: 70045642.