Найти значения x, y, для которых выражение в системе счисления будет наименьшим и кратно 56

Рейтинг: -1Ответов: 1Опубликовано: 17.03.2023

Операнды арифметического выражения записаны в системах счисления с основаниями 15 и 16:

90x4y_15 + 91xy2_16

В записи чисел переменными x и y обозначены допустимые в данных системах счисления неизвестные цифры. Определите значения x и y, при которых значение данного арифметического выражения будет наименьшим и кратно 56. Для найденных значений x и y вычислите частное от деления значения арифметического выражения на 56 и укажите его в ответе в десятичной системе счисления.

Сам вопрос - что делать, если системы счисления будут большими? Там, 72, 123 и так далее? Как в таком случае написать код? Допустим, для выражения найти минимальное частное при делении нацело на 40: 88x4y_123 + 7x44y_72

result_search = []
for x in '0123456789ABCDE':
    for y in '0123456789ABCDE':
        t = int('90' + x + '4' + y, 15) + int('91' + x + y + '2', 16)
        if t % 56 == 0:
            result_search.append(t)
if result_search:         
    print(min(result_search) // 56)

Хотелось бы идею попроще и удобнее. спасибо

Ответы

▲ 0
m =[]
for x in range(15):
    for y in range(15):
        v = 9*15**4 + x*15**2 + 4*15 + y + 9*16**4 + 1*16**3 + x*16**2 + y*16 + 2
        if v%56==0:
            print(x,y, v//56)
            m.append(v//56)
print(min(m))

Указывать минимальную систему счисления?