Задание 14. Информатика. ЕГЭ. Поляков-6221

Просмотры: 25
Изменено: 15 сентября 2024

*Требуется подобрать основания систем счисления \(p\) и \(q\) \((\max(q, p) < 100)\), так чтобы выполнялось равенство $$abc1_p = bc1d_q$$ где \(a\), \(b\), \(c\), \(d\) – различные цифры десятичной системы счисления. Если есть несколько вариантов решения задачи, выберите тот, где значение \(p\) наибольшее. В ответе укажите десятичное представление любого из чисел для найденных \(p\) и \(q\).

Решение:

Python


from itertools import product

f = True
for p, q in product(range(99, 15, -1), repeat=2):
    if not f:
        break
    for a, b, c, d in product(range(9, -1, -1), repeat=4):
        if a == 0 or b == 0 or len(set([a, b, c, d])) != 4:
            continue
        n1 = a * p**3 + b * p**2 + c * p + 1
        n2 = b * q**3 + c * q**2 + 1 * q + d
        if n1 == n2:
            print(n1)
            f = False
            break

Ответ: \(790599\)