Задание 14. Информатика. ЕГЭ. Поляков-7005
- Просмотры: 304
- Изменено: 25 ноября 2024
(П. Финкель) Операнды арифметического выражения записаны в системе счисления с различными основаниями: $$5x9x4_{12} + 7xx6_{14} + 55xx8_{16} - 3yx7_{19}$$ В записи чисел \(x\) и \(y\) обозначают неизвестные цифры из алфавита соответствующей системы счисления. Определите все пары \((x, \, y)\), при которых значение данного арифметического выражения является простым числом. В ответе запишите максимальное из произведений всех таких пар \((x, \, y)\).
Решение:
Python
def is_prime(n):
if n == 2 or n == 3:
return True
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
xy_max = 0
for x in range(12):
for y in range(19):
d1 = [5, x, 9, x, 4]
d2 = [7, x, x, 6]
d3 = [5, 5, x, x, 8]
d4 = [3, y, x, 7]
n1 = sum(a * 12**b for a, b in zip(d1, range(4, -1, -1)))
n2 = sum(a * 14**b for a, b in zip(d2, range(3, -1, -1)))
n3 = sum(a * 16**b for a, b in zip(d3, range(4, -1, -1)))
n4 = sum(a * 19**b for a, b in zip(d4, range(3, -1, -1)))
n = n1 + n2 + n3 - n4
if n > 1 and is_prime(n):
xy_max = max(xy_max, x * y)
print(xy_max)
Ответ: \(170\)