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

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

За­да­ние 17

Эле­мен­ты по­сле­до­ва­тель­но­сти могут при­ни­мать целые зна­че­ния от 1 до 100 000 вклю­чи­тель­но. Опре­де­ли­те ко­ли­че­ство троек по­сле­до­ва­тель­но­сти, в ко­то­рых толь­ко одно из чисел яв­ля­ет­ся четырёхзнач­ным, a сумма эле­мен­тов трой­ки нe мень­ше мак­си­маль­но­го эле­мен­та по­сле­до­ва­тель­но­сти, окан­чи­ва­ю­ще­го­ся на 15. В от­ве­те за­пи­ши­те ко­ли­че­ство най­ден­ных троек, затем мак­си­маль­ную из сумм эле­мен­тов таких троек. В дан­ной за­да­че под трой­кой под­ра­зу­ме­ва­ет­ся три иду­щих под­ряд эле­мен­та по­сле­до­ва­тель­но­сти.

 

Ответ:

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

Ре­ше­ние.

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

c += 1

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

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

count += 1

print(count, m)

 

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

 

Ответ: 299  196183.

 

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

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

 

При­ведём ре­ше­ние Сер­гея Ка­лу­ги­на на языке Python.

f = open('17.txt')

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

cnt = 0

m = 0

maxi = 0

for i in range(len(s)):

if (s[i])%100 == 15:

maxi = max(maxi,s[i])

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

if (len(str(s[i]))==4 and len(str(s[i+1]))!=4 and len(str(s[i+2]))!=4) or \

(len(str(s[i]))!=4 and len(str(s[i+1]))==4 and len(str(s[i+2]))!=4) or \

(len(str(s[i]))!=4 and len(str(s[i+1]))!=4 and len(str(s[i+2]))==4):

if (s[i]+s[i+1]+s[i+2])>=maxi:

cnt += 1

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

print(cnt,m)

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