Задание 17

22 7 минут

Это задание полностью связано с программированием, и можно сказать, что оно достаточно сложное. Поэтому мы советуем уделить ему достаточно времени при подготовке, чтобы как следует вникнуть в суть и во всем разобраться.

О задании

Это задача повышенного уровня сложности, проверяющая умение работать с массивами (или последовательностями) данных. Обычно требуется найти элементы, удовлетворяющие определенным условиям, и выполнить с ними какие-либо операции (например, посчитать их количество, найти сумму, определить максимальный/минимальный элемент).

 

В ответе всегда нужно приводить два числа. Важно: числа нельзя перепутать местами, иначе получишь 0 баллов.

Практика

условие

  • Считываем числа из файла в список; Чтобы работать с файлом в Python, используем функцию “open”

 

f = open ("17-1.txt")

 

  • Далее генератором проходим по всем строчкам файла f

 

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

 

  • Задаем количество пар с помощью переменной k

 

k = 0

 

  • Обозначаем максимальную сумму

 

ms = -20001

 

  • Находим среднее арифметическое

 

av = sum(a) / len (a)

 

  • Проходим по списку в поисках подходящих пар (идем по индексам, а не по элементам)

 

for i in range(len(a)-1):

 

  • Проверяем, что в паре один элемент меньше среднего арифметического, а второй – больше

 

if a [i] < av and a [i + 1] > av or a [i] > av and a [i + 1] < av:

k +=1

 

  • Сравниваем сумму пары с максимумом

 

ms = max(ms, a[i] + a[i + 1])

 

  • Выводим результат

 

print(k, ms)

 

Итоговый вариант программы будет выглядеть так:

решение

Ответ: 5034 9788

условие

  • Считываем числа из файла в список; Чтобы работать с файлом в Python, используем функцию “open”

 

f = open ("17-1.txt")

 

  • Генератором проходим по всем строчкам файла f

 

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

 

  • Задаем количество пар с помощью переменной k

 

k = 0

 

  • Обозначаем максимальное число

 

m = -10001

 

  • В этой задачи не нужно искать среднее арифметическое, поэтому сразу идем по парам согласно условию:

 

for i in range(len(a)-1) :

if abs (a [i]) % 9 == 0 and abs(a[i + 1]) % 9 != 0 and abs (a[i + 1]) % 8 == 3 or \ 

  abs(a [i + 1]) % 9 == 0 and abs (a [i]) % 9 != 0 and abs (a [i]) % 8 == 3:

 

k += 1

m = max(m, a[i], a[i + 1])

 

print(k, m)

 

Итоговый вариант программы:

решение

Ответ: 252 9971

 

В статье разобрали типовые задачи, которые могут встретиться на ЕГЭ.  В задании 17 важно обращать внимание на условие: часто на экзамене одиннадцатиклассники упускают важные детали в формулировке, из-за чего не задают в программе необходимые ограничения и теряют баллы 😢

 

Уверены, что практика в решении этого задания, принесет тебе заветные баллы на ЕГЭ!

О чем статья?

О задании Практика

Читайте также: