В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от –100 000 до 100 000 включительно. Определите количество пар элементов последовательности, в которых есть только одно отрицательное число, а сумма пары больше максимального отрицательного трёхзначного элемента последовательности, кратного 6. В ответе запишите количество найденных пар, затем максимальную из сумм квадратов элементов таких пар. В данной задаче под парой подразумеваются два идущих подряд элемента последовательности.
Ответ:
Приведём решение на языке Python.
s =[int(i) for i in open('17.txt')]
maxi_3 = max([i for i in s if len(str(abs(i)))==3 and i < 0 and abs(i)%6 == 0])
otv = []
for i in range(len(s)-1):
if (s[i] < 0 and s[i+1] >= 0) or (s[i] >= 0 and s[i+1] < 0):
if (s[i] + s[i+1]) > maxi_3:
otv.append(s[i]**2 + s[i+1]**2)
print(len(otv),max(otv))
Ответ: 2553 19701728317.
Приведём решение Юрия Красильникова на языке Python.
def good(p,m):
t = [x < 0 for x in p]
return sum(t) == 1 and sum(p) >= m
a = [int(s) for s in open('17.txt')]
m = max([x for x in a if x < 0 and x%6 == 0])
r = [a[i-1]**2 + a[i]**2 for i in range(1,len(a)) if good(a[i-1:i+1],m)]
print(len(r),max(r))

