Операнды арифметического выражения записаны в системе счисления с основанием 17.
В записи чисел переменной х обозначена неизвестная цифра из алфавита 17-ричной системы счисления. Определите наибольшее значение х, при котором значение данного арифметического выражения кратно 12. Для найденного значения х вычислите частное от деления значения арифметического выражения на 12 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Первый способ через строки
digits = "0123456789ABCDEFG" # Цифры 17-ричной системы счисления
ss = 17 # Система счисления
for x in digits: # Перебираем цифру x
# Преобразование чисел в 10-ричную систему счисления
s1 = int("3" + x + "3" + x + "8692", ss)
s2 = int("18" + x + "35" + x + "57", ss)
s = s1 + s2 # Значение арифметического выражения
if s % 12 == 0:
print(s // 12)
Второй способ через списки
def f(a,k):
a=a[::-1]
return sum(a[i]*k**i for i in range(len(a)))
for x in range(17):
s=f([3,x,3,x,8,6,9,2],17)+f([1,8,x,3,5,x,5,7],17)
if s%12==0:
print(x,s//12)