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

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

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

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

Задача 1#74926

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

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

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

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

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

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

Решение Excel:

Откроем файл электронной таблицы и для начала посчитаем при помощи функции СЧЁТЕСЛИ сколько раз каждое число встречается в строке. Формула для первого числа будет выглядеть таким образом: =СЧЁТЕСЛИ($A1:$E1;A1). Протянем данную формулу на 5 столбцов. Если сумма столбцов F:J равна 5, значит, все числа в строке различны между собой. Проверим это в столбце К: =ЕСЛИ(СУММ(F1:J1)=5;1;0).

Расположим в последующих 5 столбцах числа в порядке убывания. Для поиска самого большого числа формула (напишем ее в столбец L) будет иметь такой вид: =НАИБОЛЬШИЙ($A1:$E1;1). Для второго наибольшего числа формула (напишем ее в столбец M) будет иметь такой вид: =НАИБОЛЬШИЙ($A1:$E1;2). По аналогии заполняем столбцы N, O и P, таким образом, исходные числа будут расположены от наибольшего к наименьшему в строке L:P.

Проверим, что произведение максимального и минимального меньше суммы оставшихся чисел. Запишем формулу: =ЕСЛИ(L1*P1<СУММ(M1:O1);1;0).

Осталось проверить, что два условия выполняются одновременно для строки. Для этого запишем формулу: =ЕСЛИ(K1+Q1=2;1;0). Ответ: 153.

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

f = open(’9.txt’, ’r’)
lines = f.readlines()

count = 0

for line in lines:
    nums = list(map(int, line.split()))
    if len(set(nums)) == len(nums):
        max_num = max(nums)
        min_num = min(nums)
        remaining_sum = sum(nums) - max_num - min_num
        if max_num * min_num < remaining_sum:
            count += 1

print(count)


Ответ: 153

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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