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

В файле со­дер­жит­ся по­сле­до­ва­тель­ность целых чисел.

За­да­ние 17

Эле­мен­ты по­сле­до­ва­тель­но­сти могут при­ни­мать целые зна­че­ния от −1 000 000 до 1 000 000 вклю­чи­тель­но.

Опре­де­ли­те ко­ли­че­ство троек эле­мен­тов, в ко­то­рых из трех эле­мен­тов трой­ки пя­ти­знач­ны­ми чис­ла­ми яв­ля­ют­ся толь­ко два, а сумма эле­мен­тов трой­ки не боль­ше мак­си­маль­но­го эле­мен­та по­сле­до­ва­тель­но­сти, окан­чи­ва­ю­ще­го­ся на 29. В от­ве­те за­пи­ши­те два числа: сна­ча­ла ко­ли­че­ство най­ден­ных троек, а затем мак­си­маль­ную из сумм таких троек. В дан­ной за­да­че под трой­кой под­ра­зу­ме­ва­ет­ся три иду­щих под­ряд эле­мен­та по­сле­до­ва­тель­но­сти.

 

Ответ:

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

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

count = 0

m = 0

f = open('17.txt')

l = [int(i) for i in f]

max_dvy = 0

for i in range(len(l)):

if l[i] % 100 == 29:

max_dvy = max(max_dvy, l[i])

for i in range(len(l) - 2):

c = 0

s = [l[i], l[i+1], l[i+2]]

for x in s:

if 9999 < abs(x) < 100000:

c += 1

if c == 2 and sum(s) <= max_dvy:

m = max(m, (l[i] + l[i+1] + l[i+2]))

count += 1

print(count, m)

 

В ре­зуль­та­те ра­бо­ты дан­но­го ал­го­рит­ма при вводе дан­ных из файла ответ  — 157  973622.

 

Ответ: 157  973622.

 

При­ме­ча­ние.

Путь к файлу не­об­хо­ди­мо ука­зать со­глас­но рас­по­ло­же­нию файла на Вашем ком­пью­те­ре.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

a = [int(s) for s in open('1777.txt')]

m = max([x for x in a if abs(x)%100==29])

b = [sum(a[i:i+3]) for i in range(len(a)-2) if sum([(10000 <= abs(x) < 100000) for x in a[i:i+3]]) == 2 and sum(a[i:i+3]) <= m]

print(len(b),max(b))

Источник: ЕГЭ по ин­фор­ма­ти­ке 20.06.2023. Ос­нов­ная волна. Даль­ний Во­сток