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

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

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

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

Задача 1#74927

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

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

— сумма максимального и минимального значения в строке кратна 22.

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

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

Решение Excel:

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

Если сумма столбцов F:J равна 8, значит, только одно число встречается дважды, а оставшиеся числа встречаются единожды. Запишем в столбец M формулу: =ЕСЛИ(СУММ(G1:L1) = 8;1;0)

Проверим, что сумма максимального и минимального числа в строке кратна 22. Для этого запишем формулу в столбец N: =ЕСЛИ(ОСТАТ(МАКС(A1:F1)+МИН(A1:F1);22)=0;1;0).

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

Решение Python

Сначала мы открываем файл с таблицей и считываем все его строки. Для этого используем метод readlines(), который сохраняет каждую строку файла в отдельный элемент списка. После этого мы начинаем построчно работать с данными.

Каждую строку мы преобразуем в список чисел. Для этого применяем метод split(), который разделяет строку по пробелам, затем с помощью map(int, ...) переводим элементы в целые числа, а list(...) формирует итоговый список. Таким образом, каждая строка таблицы становится массивом из шести чисел.

Далее мы проверяем выполнение двух условий:

1. В строке только одно число повторяется ровно два раза, а остальные числа различны.

     – Для проверки используем разность между длиной исходного списка и длиной множества (set).

     – Функция set(nums) удаляет все повторяющиеся элементы, поэтому если в строке ровно одна пара одинаковых чисел, то общее количество элементов (6) будет на 1 больше, чем количество различных элементов.

2. Сумма максимального и минимального числа в строке кратна 22.

     – Для этого используем функции max() и min() для нахождения наибольшего и наименьшего значения.

     – Складываем их и проверяем делимость на 22 с помощью операции % (остаток от деления).

Если оба условия выполняются одновременно, увеличиваем счётчик на 1. После завершения обработки всех строк выводим результат.

f = open(’9.txt’, ’r’)  # Открываем файл для чтения
lines = f.readlines()   # Считываем все строки в список

count = 0  # Счётчик подходящих строк

# Перебираем каждую строку файла
for line in lines:
    nums = list(map(int, line.split()))  # Преобразуем строку в список чисел
    # Проверяем первое условие: только одно число встречается дважды
    if len(nums) - len(set(nums)) == 1:
        # Проверяем второе условие: сумма max и min кратна 22
        if (max(nums) + min(nums)) % 22 == 0:
            count += 1  # Увеличиваем счётчик, если оба условия выполнены

print(count)  # Выводим количество подходящих строк

Ответ: 17

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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