Тема 9. Работа с электронными таблицами

9.02 Количество строк, удовлетворяющих условию

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела работа с электронными таблицами
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#74936

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

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

—все числа в строке различны между собой

—разность максимального и минимального чисел строки равна среднему (по значению) числу

В ответе запишите количество подходящих строк.

Вложения к задаче
Показать ответ и решение

Решение Excel:

Откроем файл электронной таблицы и для начала посчитаем при помощи функции СЧЁТЕСЛИ сколько раз каждое число встречается в строке. В ячейку F1 запишем формулу для первого числа:

=СЧЁТЕСЛИ($A1:$E1;A1)

Протянем данную формулу на 4 следующих столбца G, H, I и J. Если сумма столбцов F:J равна 5,значит, все числа в строке различны между собой. Напишем проверку в ячейку K1 и растянем эту формулу на весь столбец:

=ЕСЛИ(СУММ(F1:J1)=5;1;0)

Проверим, что разность максимального и минимального чисел равна среднему (по значению) числу. Запишем формулу в ячейку L1 и растянем ее на весь столбец:

=ЕСЛИ(МАКС(A1:E1)-МИН(A1:E1)=МЕДИАНА(A1:E1);1;0).

Примечание: функция МЕДИАНА для поиска среднего по значению числа подходит только если в строке все числа различны и их нечетное количество. В этой задаче первым условием как раз проверяется, что все числа различны, и если в строке есть повторяющиеся значения, то не имеет значения какая медиана найдена, так как эта строка будет отброшена по первому условию.

Осталось проверить, что два условия выполняются одновременно для строки. Для этого запишем формулу в столбец M:

=ЕСЛИ(K1+L1=2;1;0)

Считаем сумму столбца M и получаем 20.

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

f = open(’9.txt’, ’r’)
k = 0
for line in f:
    nums = list(map(int, line.split()))
    if len(set(nums)) == len(nums):
        if max(nums) - min(nums) == sorted(nums)[2]:
            k += 1
print(k)



Ответ: 20

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!