Задание 17. Информатика. 2023-13
- Просмотры: 74
- Изменено: 24 ноября 2024
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(-10~000\) до \(10~000\) включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых сумма элементов не менее \(100\) и хотя бы одно число в паре отрицательное, затем максимальное из произведений элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
def sum_ge_100(t: tuple[int]) -> bool:
return sum(t) >= 100 and any(x < 0 for x in t)
file_desc = open('17var13.txt')
num_array = [int(x) for x in file_desc.readlines()]
final_tuple = tuple(filter(sum_ge_100, zip(num_array, num_array[1:])))
max_prod = max(map(lambda f: f[0]*f[1], final_tuple))
print(len(final_tuple), max_prod)
Ответ: \(1137 \,\, -2655\)