Операнды арифметического выражения записаны в системе счисления с основанием 14:
В записи чисел переменной x обозначена неизвестная цифра из алфавита четырнадцатеричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 26. Для найденного значения x вычислите частное от деления значения арифметического выражения на 26 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Первый способ через строки
digits = "0123456789ABCD" # Цифры 14-ричной системы счисления
ss = 14 # Система счисления
for x in digits: # Перебираем цифру x
# Преобразование чисел в 10-ричную систему счисления
s1 = int("2" + x + "745", ss)
s2 = int("53" + x + "65", ss)
s = s1 + s2 # Значение арифметического выражения
if s % 26 == 0:
print(s // 26)
break # Первое выведенное число и будет ответом для наименьшей цифры x
Второй способ через списки
s1 = [2, -1, 7, 4, 5]
s2 = [5, 3, -1, 6, 5]
ss = 14
k = 26
for x in range(ss):
s1[1] = s2[2] = x
sm1, sm2 = 0, 0
for j in range(len(s1)):
sm1 += s1[len(s1) - j - 1] * ss ** j
for j in range(len(s2)):
sm2 += s2[len(s2) - j - 1] * ss ** j
if (sm1 + sm2) % k == 0:
print(x, (sm1 + sm2) // k)