Задание 14. Информатика. Фоксфорд 2023-3

Операнды арифметического выражения записаны в системе счисления с основанием \(17\). $$ 1C3x6_{17} + 1x4x_{17} $$ В записи чисел переменной \(x\) обозначена неизвестная цифра из алфавита \(17\)-ричной системы счисления. Определите наименьшее значение \(x\), при котором значение данного арифметического выражения кратно \(18\). Для найденного значения \(x\) вычислите частное от деления значения арифметического выражения на \(18\) и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение:

Python


def dot(a, b):
    return sum(x[0]*x[1] for x in zip(a, b))

pow17 = [17**n for n in range(4,-1,-1)]

for x in range(17):
    n1 = [1, 12, 3, x, 6]
    n2 = [0, 1, x, 4, x]
    n = dot(n1, pow17) + dot(n2, pow17)
    if n % 18 == 0:
        print(n // 18)
        break

Ответ: \(8360\)