Алгоритм решения задания 15. Часть 4
Учимся решать 15 задания четвёртого типа
Читать
В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от –100 000 до 100 000 включительно.
Определите количество троек последовательности, в которых все числа одного знака, при этом произведение минимального и максимального элементов тройки больше квадрата минимального элемента последовательности, который оканчивается на 15 и является трёхзначным числом.
В ответе запишите количество найденных троек чисел, затем минимальное из произведений максимального и минимального элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
with open('1709.txt') as f:
data = list(map(int, f))
def f(arr):
return all(x > 0 for x in arr) or all(x < 0 for x in arr)
min_3_15 = min(i for i in data if len(str(abs(i))) == 3 and str(i)[-2:] == "15")
ans = []
for elements in zip(data, data[1:], data[2:]):
min_max_prod = min(elements) * max(elements)
if f(elements) and min_max_prod > min_3_15 ** 2:
ans.append(min_max_prod)
print(len(ans), min(ans))
