(М. Шагитов) В файле содержится последовательность целых чисел. Элементы последовательности - четырёхзначные натуральные числа. Найдите все тройки элементов последовательности, для которых десятичная запись произведения всех чисел тройки содержит все \(10\) цифр \((0 \ldots 9),\) а сумма всех чисел тройки меньше, чем сумма цифр всех чисел в файле. В ответе запишите количество найденных троек, затем минимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
nums = [int(x) for x in open('5204.txt')]
q, ms = 0, float('inf')
sum_nums = sum(sum(int(z) for z in str(n)) for n in nums)
for a, b, c in zip(nums, nums[1:], nums[2:]):
p = a * b * c
s = a + b + c
if len(set(str(p))) == 10 and s < sum_nums:
q += 1
ms = min(ms, a + b + c)
print(q, ms)
Ответ: \(43 \,\, 4130\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене