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

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

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

— наибольшее из четырёх чисел меньше суммы трёх других;

— среди четырёх чисел совпадают ровно два (например, четверка чисел 12,12,13,29  подходит, а четверка чисел 12,12,12,29  — нет).

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

Для решения этой задачи воспользуемся функцией =НАИБОЛЬШИЙ(). Как она работает: подается массив и номер числа по убыванию. Так, в строке 123 61 89 157  функция =НАИБОЛЬШИЙ(x:y; 1) выведет 157  .

 

Запишем в четыре ячейки в столбик формулы =НАИБОЛЬШИЙ(A1:D1; 1), =НАИБОЛЬШИЙ(A1:D1; 2), =НАИБОЛЬШИЙ(A1:D1; 3), =НАИБОЛЬШИЙ(A1:D1; 4).

PIC

 

Далее подумаем. Нам нужно выполнить 2 условия.

Сначала решим, что делать с первым. Получается нам нужно, чтобы F1 < (G1+H1+I1) — выполнялось.

Теперь решим, что делать со вторым условием. Нам нужно, чтобы была только ОДНА пара. Значит нам нужно рассмотреть все пары в данном случае.

Рассмотрим все пары: (F1 = G1), (F1 = H1), (F1 = I1), (G1 = H1), (G1 = I1), (H1 = I1). И нам нужно, чтобы только одна подходила. Т.е. если просуммировать эти логические выражения, мы должны получить единицу.

Совместить эти 2 условия в ЕСЛИ нам поможет конструкция И().

Теперь запишем всю формулу: =ЕСЛИ( И( ( F1 < (G1+H1+I1) ),((F1=G1) + (F1=H1) + (F1=I1) + (G1=H1) + (G1=I1) + (H1=I1))=1 ), 1, 0).

И перетащим ее на весь столбец.

 

Подсчитываем сумму столбца, она равна 24  .

 

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

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

f = open(’9.txt’)
n = 3200
ans = 0
for i in range(n):
    a = sorted([int(s) for s in f.readline().split()])
    if a[3] < (a[0] + a[1] + a[2]):
        k = (a[0] == a[1]) + (a[0] == a[2]) + (a[0] == a[3]) + (a[1] == a[2]) + 
            (a[1] == a[3]) + (a[2] == a[3])
        if k == 1:
            ans += 1
print(ans)

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