Задания
Версия для печати и копирования в MS Word
Тип 17 № 83175
i

В файле со­дер­жит­ся по­сле­до­ва­тель­ность целых чисел. Её эле­мен­ты могут при­ни­мать целые зна­че­ния от −100 000 до 100 000 вклю­чи­тель­но. Опре­де­ли­те ко­ли­че­ство пар эле­мен­тов по­сле­до­ва­тель­но­сти, в ко­то­рых есть толь­ко одно от­ри­ца­тель­ное число, а сумма пары боль­ше мак­си­маль­но­го от­ри­ца­тель­но­го четырёхзнач­но­го эле­мен­та по­сле­до­ва­тель­но­сти, крат­но­го 9. В от­ве­те за­пи­ши­те ко­ли­че­ство най­ден­ных пар, затем ми­ни­маль­ную из сумм квад­ра­тов эле­мен­тов таких пар. В дан­ной за­да­че под парой под­ра­зу­ме­ва­ют­ся два иду­щих под­ряд эле­мен­та по­сле­до­ва­тель­но­сти.

За­да­ние 17

Ответ:

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке 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)


Аналоги к заданию № 83147: 83175 Все