14 2027-Анисимов-1
Операнды арифметического выражения записаны в системе счисления с основанием 25.
689x24525 + 486x15825
В записи чисел переменной x обозначена неизвестная цифра из алфавита
25-ричной системы счисления.
Определите наименьшее значение x, при котором значение
данного арифметического выражения кратно 24.
Для найденного x
вычислите частное от деления значения арифметического выражения на 24
и укажите его в ответе в десятичной системе счисления.
Основание системы счисления
указывать не нужно.
Для цифр со значениями от 10 до 24 используются буквы
A—O; x обозначает неизвестную цифру.
Задаём алфавит из 25 символов: цифры 0…9
и буквы A…O (значения 10…24).
Функция to_num подставляет вместо x нужный символ
и переводит запись в десятичное число. Для примера берём x = 3
и считаем первое слагаемое.
DIGITS = "0123456789ABCDEFGHIJKLMNO"
def to_num(s, x):
s = s.replace("x", DIGITS[x])
n = 0
for ch in s:
n = n * 25 + DIGITS.index(ch)
return n
x = 3
print(to_num("689x245", x))
Перебираем x от 0 вверх до 24.
Складываем два числа в десятичном виде. Как только сумма кратна 24,
печатаем частное val // 24 и останавливаемся.
При x = 3 ответ — 108483812.
for x in range(25):
val = to_num("689x245", x) + to_num("486x158", x)
if val % 24 == 0:
print(val // 24)
break
Время решения
00:00.00
Нажмите «Пуск», когда начнёте решать
Пробел — пуск и пауза
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода