В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от \(-100~000\) до \(100~000\) включительно. Определите количество троек элементов последовательности, в которых все числа отрицательны, ни одно число не является трёхзначным, а сумма модулей наименьшего и наибольшего элементов тройки не больше квадрата максимального двузначного элемента последовательности, оканчивающегося на \(3.\) В ответе запишите количество найденных троек, затем максимальную из сумм модулей наименьшего и наибольшего элементов таких троек.
В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
nums = [int(x) for x in open('17.txt')]
m3 = max(x for x in nums if 9 < abs(x) < 100 and abs(x) % 10 == 3)
m3sq = m3**2
max_sum = 0
q = 0
for tr in zip(nums, nums[1:], nums[2:]):
if all(x < 0 for x in tr) and not any( 99 < abs(x) < 1000 for x in tr) \
and abs(min(tr)) + abs(max(tr)) <= m3sq:
q += 1
max_sum = max(max_sum, abs(min(tr)) + abs(max(tr)))
print(q, max_sum)
Ответ: \(2 \,\, 4837\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене