В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от −100 000 до 100 000 включительно. Определите количество пар элементов последовательности, в которых есть только одно отрицательное число, а сумма пары больше максимального отрицательного четырёхзначного элемента последовательности, кратного 9. В ответе запишите количество найденных пар, затем минимальную из сумм квадратов элементов таких пар. В данной задаче под парой подразумеваются два идущих подряд элемента последовательности.
Ответ:
Приведём решение на языке Python.
f = open('17.txt')
s = [int(i) for i in f]
maxi_9 = max([i for i in s if i < 0 and abs(i)%9==0 and len(str(i))==5])
otv =[]
for i in range(len(s) - 1):
if s[i]*s[i+1] < 0:
if s[i]+s[i+1] > maxi_9:
otv.append(s[i]**2 + s[i+1]**2)
print(len(otv), min(otv))
Ответ: 2627 504410.
Приведём решение Арины Хуббитдиновы на языке Python.
f = open('17.txt')
l = [int(i) for i in f]
m = -1000000
for i in l:
if i % 9 == 0 and -9999 < i < -1000 and i > m:
m = i
k = 0
q = 2000000000001
for i in range(len(l) - 1):
a = l[i]
b = l[i + 1]
if (a * b < 0 or (a == 0 and b < 0) or (b == 0 and a < 0)) and (a + b) > m:
k += 1
if a**2 + b**2 < q:
q = a**2 + b**2
print(k, q)
f.close()
Приведём решение Бориса Савельева на языке Python.
f=open('17.txt')
a=[int(x) for x in f]
cnt=0
ma=-(10**9)
mi=10**9
for i in range (0,len(a)):
if a[i]<0 and len(str(abs(a[i])))==4 and abs(a[i])%9==0:
ma=max(ma,a[i])
for i in range (0,len(a)-1):
if (a[i]<0 and a[i+1]>=0) or (a[i]>=0 and a[i+1]<0):
if (a[i]+a[i+1])>ma:
cnt+=1
mi=min(a[i]**2+a[i+1]**2,mi)
print(cnt,mi)

