ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 17009. Открытый вариант

В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от –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))
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие