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

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

Решение:

Python


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

pow18 = [18**n for n in range(4,-1,-1)]

for x in range(17):
    n1 = [1, x, 2, 3, 9]
    n2 = [0, 2, x, 12, x]
    n = dot(n1, pow18) + dot(n2, pow18)
    if n % 19 == 0:
        print(n // 19)
        break

Ответ: \(7808\)