Задача к ЕГЭ по информатике на тему «Количество строк, удовлетворяющих условию» №8

Задание выполняется с использованием прилагаемых файлов

Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел.

Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:

— каждое число в строке встречается по одному разу,

— утроенная сумма максимального и минимального значений не превышает удвоенной суммы оставшихся чисел.

В ответе запишите только число.

Решение Excel:

Сначала будем проверять сколько раз в строке встречается число. Для этого в ячейку F1 запишем формулу =СЧЁТЕСЛИ(A1 :  E1,A1) и скопируем её во все ячейки диапазона F1 : J3200  .

В ячейке К1 запишем формулу =СУММ(F1:J1). Если число в ячейке равно 5, то в ряду все числа встречаются один раз. Скопируем формулу во все ячейки диапазона К1:К3200.

В ячейке L1 посчитаем утроенную сумму максимального и минимального значений. Для этого в ячейку L1 запишем формулу =ЕСЛИ(K1=5,3*(МАКС(A1:E1)+МИН(A1:E1)),0) и скопируем её во все ячейки диапазона L1 : L3200  .

В ячейке M1 посчитаем удвоенную сумму оставшихся чисел. Для этого в ячейку M1 запишем формулу =ЕСЛИ(K1=5,2*(СУММ(A1:E1)-МАКС(A1:E1)-МИН(A1:E1)),0) и скопируем её во все ячейки диапазона M 1 : M 3200  .

В ячейке N1 будем выписывать 1, если ряд подходит под условие задачи и 0 если не подходит. Для этого в ячейку N1 запишем формулу =ЕСЛИ(K1=5,ЕСЛИ(L1<=M1,1,0),0) и скопируем её во все ячейки диапазона N 1 : N3200  .

Окончательно, с помощью формулы =СУММ(N1:N3200) получим ответ — 853  .

Решение программой:

f = open(’9.txt’, ’r’)
count = 0
for line in f:
    a = [int(x) for x in line.split()]
    if len(set(a)) == 5 and 3 * (max(a) + min(a)) <= 2 * (sum(a) - max(a) - min(a)):
        count += 1
print(count)

Ответ: 853
Оцените статью
Я решу все!