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

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

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

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

Задача 1#60328

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

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

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

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

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

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

Решение 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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