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

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

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

— в строке только одно число повторяется ровно два раза, остальные числа различны;

— среднее арифметическое неповторяющихся чисел строки не больше суммы повторяющихся чисел.

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

Решение 1

Для решения этой задачи воспользуемся функцией =СЧЁТЕСЛИ(). Как она работает: подается диапазон и критерий для поиска. Так, в строке 31 6 31 88 55 94  функция =СЧЁТЕСЛИ(x:y; 31) выведет 2  .

Запишем в ячейки H1  M 1  следующие формулы: =ЕСЛИ(СЧЁТЕСЛИ(A1:F1,A1)=2,0,A1), =ЕСЛИ(СЧЁТЕСЛИ(A1:F1,B1)=2,0,B1), … =ЕСЛИ(СЧЁТЕСЛИ(A1:F1,F1)=2,0,F1). Таким образом мы заменили числа, которые повторяются ровно два раза, на нулевые значения. Скопируем формулы на строки в диапазоне H1 : M 4000  .

Запишем формулу для проверки 1 условия — =ЕСЛИ(СЧЁТЕСЛИ(H1:M1,0)=2,1,0) и скопируем её на диапазон N1:N4000.

Чтобы вывести числа, которые повторяются в строке два раза, запишем формулу =(СУММ(A1:F1)-СУММ(H1:M1))/2 и скопируем её на диапазон O1 : O4000  .

Запишем формулу для проверки 1 и 2 условий — =ЕСЛИ(И(N1=1,(СУММ(H1:M1))/4<=(O1*2)),1,0) и скопируем её на диапазон P1 : P4000  . Считаем количество строк удовлетворяющих 1 и 2 условию — =СУММ(P:P)

PIC

Решение 2

Скопируем числа из Excel и перенесем в текстовый документ. Дальше будем работать с данным файлом.

f = open(’26.txt’)
ans = 0
for i in range(40000):
    a = sorted([int(s) for s in f.readline().split()])
    p = sum(a) - sum(set(a))
    x = sum(set(a) - {p}) / 4
    if len(set(a)) == 5 and x <= 2 * p:
        ans += 1
print(ans)

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