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

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

За­да­ние 17

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

 

Ответ:

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

Ре­ше­ние.

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

count = 0

m = 100000000

f = open('17.txt')

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

max_dvy = 0

for i in range(len(l)):

if abs(l[i]) % 100 == 15:

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 999 < abs(x) < 10000:

c += 1

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

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

count += 1

print(count, m)

 

В ре­зуль­та­те ра­бо­ты дан­но­го ал­го­рит­ма при вводе дан­ных из файла ответ: 2453  −176846.

 

Ответ: 2453  −176846.

 

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

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

 

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

f = open('17.txt')

a = [int(x) for x in f]

maxi15=-100000000000

for i in range (0,len(a)):

if abs(a[i])%100==15:

maxi15=max(maxi15,a[i])

k=0

mini=100000000000

for i in range (0,len(a)-2):

if (len(str(abs(a[i])))==4 and len(str(abs(a[i+1])))!=4 and len(str(abs(a[i+2])))!=4) or (len(str(abs(a[i])))!=4 and len(str(abs(a[i+1])))==4 and len(str(abs(a[i+2])))!=4) or (len(str(abs(a[i])))!=4 and len(str(abs(a[i+1])))!=4 and len(str(abs(a[i+2])))==4):

if (a[i]+a[i+1]+a[i+2]) < maxi15:

k+=1

mini=min(mini,a[i]+a[i+1]+a[i+2])

print(k,mini)

Источник: ЕГЭ по ин­фор­ма­ти­ке 19.06.2023. Ос­нов­ная волна. Раз­ные го­ро­да