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

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

За­да­ние 17

Ответ:

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

Ре­ше­ние.

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


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