Операнды арифметического выражения записаны в системе счисления с основанием 22.
27x9887622 + 26x5122 + 711x522
В записи чисел переменной x обозначена неизвестная цифра из алфавита
22-ричной системы счисления.
Определите наименьшее значение x,
при котором значение данного арифметического выражения кратно 21.
Для найденного x вычислите частное от деления значения арифметического
выражения на 21 и укажите его в ответе в десятичной системе счисления.
Основание системы счисления указывать не нужно.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 22-ричной системе
x — одна неизвестная цифра (0…21)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
📌 Результат: функция to_num переводит 27x9887622 + 26x5122 + 711x522 в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 21
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
for x in range(22):
val = to_num('27x98876', x) + to_num('26x51', x) + to_num('711x5', x)
if val % 21 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 21; находим наименьшее x, при котором сумма кратна 21.
🔹 Шаг 3. Частное от деления на 21
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
for x in range(22):
val = to_num('27x98876', x) + to_num('26x51', x) + to_num('711x5', x)
if val % 21 == 0:
print(val // 21)
break
📌 Результат: выводим частное от деления значения выражения на 21 (в десятичной системе); ответ: 276296118.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 22-ричной системе
x — одна неизвестная цифра (0…21)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
📌 Результат: функция to_num переводит 27x9887622 + 26x5122 + 711x522 в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 21
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
for x in range(22):
val = to_num('27x98876', x) + to_num('26x51', x) + to_num('711x5', x)
if val % 21 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 21; находим наименьшее x, при котором сумма кратна 21.
🔹 Шаг 3. Частное от деления на 21
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
for x in range(22):
val = to_num('27x98876', x) + to_num('26x51', x) + to_num('711x5', x)
if val % 21 == 0:
print(val // 21)
break
📌 Результат: выводим частное от деления значения выражения на 21 (в десятичной системе); ответ: 276296118.
🔹 Шаг 1. Перевод чисел с неизвестной цифрой x
Идея:
операнды записаны в 22-ричной системе
x — одна неизвестная цифра (0…21)
для x ≥ 10 подставляется буква A, B, … (как в int(..., base))
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
📌 Результат: функция to_num переводит 27x9887622 + 26x5122 + 711x522 в десятичное число.
🔹 Шаг 2. Наименьшее x, при котором выражение кратно 21
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
for x in range(22):
val = to_num('27x98876', x) + to_num('26x51', x) + to_num('711x5', x)
if val % 21 == 0:
print(x, val)
break
📌 Результат: перебираем x от 0 до 21; находим наименьшее x, при котором сумма кратна 21.
🔹 Шаг 3. Частное от деления на 21
DIGITS = "0123456789ABCDEFGHIJKL"
def to_num(s, x):
return int(s.replace('x', DIGITS[x]), 22)
for x in range(22):
val = to_num('27x98876', x) + to_num('26x51', x) + to_num('711x5', x)
if val % 21 == 0:
print(val // 21)
break
📌 Результат: выводим частное от деления значения выражения на 21 (в десятичной системе); ответ: 276296118.