(А. Богданов) В файле содержится последовательность натуральных чисел, не превышающих \(100000.\) Определите количество симметричных пар последовательности, произведение элементов которых кратно минимальному трехзначному элементу последовательности, все цифры которого различны. В данной задаче под симметричной парой подразумеваются элементы, равноудаленные от центра последовательности. Например, для последовательности \((1, \, 2, \, 3, \, 4, \, 5, \, 6)\) таких пар будет три: \((1,~6) \, (2,~5) \, (3,~4).\) В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар.
Решение:
Python
nums = [int(x) for x in open('6559.txt')]
m3 = min(x for x in nums if 99 < x < 1000 and len(set(str(x))) == 3)
q, ms = 0, float('inf')
for a, b in zip(nums[:len(nums) // 2], nums[::-1]):
if a * b % m3 == 0:
q += 1
ms = min(ms, a + b)
print(q, ms)
Ответ: \(111 \,\, 138\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене