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

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

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

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

Задача 1#63049

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

– в строке все числа уникальные;

– среднее арифметическое двух максимальных не больше суммы 3 минимальных.

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

Решение Excel:

Первым шагом отсортируем числа в строке по возрастанию. Для этого в ячейки F 1− J1  запишем соответствующие формулы:

=НАИМЕНЬШИЙ(A1:E1;1)

=НАИМЕНЬШИЙ(A1:E1;2)

=НАИМЕНЬШИЙ(A1:E1;3)

=НАИМЕНЬШИЙ(A1:E1;4)

=НАИМЕНЬШИЙ(A1:E1;5)

Проверим уникальность каждого числа. Для этого в ячейку K1  запишем формулу, которая считает количество повторений числа из ячейки F1  в диапазоне F 1 : J1  :

=СЧЁТЕСЛИ($F1:$J1;F1)

Растянем эти 5 формул на все строки. Для того чтобы определить, является ли каждое число уникальным, найдем сумму ячеек в диапазоне K1 : O1  , если все числа уникальные, то сумма будет равна 5.

Остается только найти среднее арефметическое двух максимальных и сумму 3 минимальных. Так как у нас числа отсортированы в порядке возрастания, то это легко сделать. Запишем формулу для поиска среднего арефметического двух максимальных в ячейку Q1  . А в ячейку R1  формулу для поиска суммы 3 минимальных. Растянем формулы на все строки.

Осталость только записать условие, в ячейку S1  запишем формулу и растянем ее на все строки:

=ЕСЛИ(И(P1=5;Q1<=R1);1;0)

В любую свободную ячейку запишем формулу поиска суммы по столбцу S  . Результат этой формулы и будет ответом на задачу.

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

f = open(’9.txt’, ’r’)
count = 0
for line in f:
    a = [int(x) for x in line.split()]
    sorted_a = sorted(a)
    if len(set(a)) == 5:
        if (sorted_a[3] + sorted_a[4]) / 2 <= sum(sorted_a[:3]):
            count += 1
print(count)

Ответ: 1080

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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