(Э. Носиров) Операнды арифметического выражения записаны в системе счисления с основанием 19:
35x72₁₉ + 2x64₁₉ + x91₁₉.
Переменная x обозначает неизвестную цифру этой системы счисления, одинаковую во всех трёх числах.
Определите наименьшее значение x, при котором значение выражения кратно 18.
Для найденного x вычислите частное от деления значения выражения на 18.
В ответе запишите это частное в десятичной системе счисления.
Основание системы счисления указывать не нужно.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 19-ричной системе
x — одна неизвестная цифра (0…18)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
📌 Результат: функция to_num переводит 35x7219 + 2x6419 + x9119 в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 18
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
for x in range(19):
val = to_num('35x72', x) + to_num('2x64', x) + to_num('x91', x)
if val % 18 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 18; находим наименьшее x, при котором сумма кратна 18.
🔹 Шаг 3. Частное от деления на 18
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
for x in range(19):
val = to_num('35x72', x) + to_num('2x64', x) + to_num('x91', x)
if val % 18 == 0:
print(val // 18)
break
📌 Результат: выводим частное от деления значения выражения на 18 (в десятичной системе); ответ: 24712.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 19-ричной системе
x — одна неизвестная цифра (0…18)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
📌 Результат: функция to_num переводит 35x7219 + 2x6419 + x9119 в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 18
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
for x in range(19):
val = to_num('35x72', x) + to_num('2x64', x) + to_num('x91', x)
if val % 18 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 18; находим наименьшее x, при котором сумма кратна 18.
🔹 Шаг 3. Частное от деления на 18
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
for x in range(19):
val = to_num('35x72', x) + to_num('2x64', x) + to_num('x91', x)
if val % 18 == 0:
print(val // 18)
break
📌 Результат: выводим частное от деления значения выражения на 18 (в десятичной системе); ответ: 24712.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 19-ричной системе
x — одна неизвестная цифра (0…18)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
📌 Результат: функция to_num переводит 35x7219 + 2x6419 + x9119 в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 18
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
for x in range(19):
val = to_num('35x72', x) + to_num('2x64', x) + to_num('x91', x)
if val % 18 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 18; находим наименьшее x, при котором сумма кратна 18.
🔹 Шаг 3. Частное от деления на 18
DIGITS = "0123456789ABCDEFGHI"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 19)
for x in range(19):
val = to_num('35x72', x) + to_num('2x64', x) + to_num('x91', x)
if val % 18 == 0:
print(val // 18)
break
📌 Результат: выводим частное от деления значения выражения на 18 (в десятичной системе); ответ: 24712.