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

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

Задача 1#62515

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

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

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

— каждое число в строке встречается по одному разу,

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

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

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

Решение 1

Сначала будем проверять сколько раз в строке встречается число. Для этого в ячейку F1 запишем формулу =СЧЁТЕСЛИ(A1 :  E1,A1) и скопируем её во все ячейки диапазона F1 : J3200  .

В ячейке К1 запишем формулу =СУММ(F1:J1). Если число в ячейке равно 5, то в ряду все числа встречаются один раз. Скопируем формулу во все ячейки диапазона К1:К3200.

В ячейке L1 посчитаем утроенную сумму максимального и минимального значений. Для этого в ячейку L1 запишем формулу =ЕСЛИ(K1=5,3*(МАКС(A1:E1)+МИН(A1:E1)),0) и скопируем её во все ячейки диапазона L1 : L3200  .

В ячейке M1 посчитаем удвоенную сумму оставшихся чисел. Для этого в ячейку M1 запишем формулу =ЕСЛИ(K1=5,2*(СУММ(A1:E1)-МАКС(A1:E1)-МИН(A1:E1)),0) и скопируем её во все ячейки диапазона M 1 : M 3200  .

В ячейке N1 будем выписывать 1, если ряд подходит под условие задачи и 0 если не подходит. Для этого в ячейку N1 запишем формулу =ЕСЛИ(K1=5,ЕСЛИ(L1<=M1,1,0),0) и скопируем её во все ячейки диапазона N 1 : N3200  .

Окончательно, с помощью формулы =СУММ(N1:N3200) получим ответ — 853  .

Ответ: 853

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

Задача 2#60338

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

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

— в строке все числа различны;

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

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

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

Решение 1

Сначала проверим 1 условие. Запишем в ячейку F1  следующую формулу - =ЕСЛИ(ИЛИ(A1=B1,A1=C1,A1=D1,A1=E1,B1=C1,B1=D1,B1=E1,C1=D1,C1=E1,D1=E1),0,1).

Затем проверим 2 условие. Воспользуемся функциями =НАИБОЛЬШИЙ() и =НАИМЕНЬШИЙ(). Как они работает: подается массив и номер числа по убыванию. Так, в строке 91 88 10 34 46  функция =НАИБОЛЬШИЙ(x:y; 1) выведет 91  , а функция =НАИМЕНЬШИЙ(x:y; 1) выведет 10  . Запишем в ячейку формулу - =СУММ(A1:E1)-НАИБОЛЬШИЙ(A1:E1,1)-НАИМЕНЬШИЙ(A1:E1,1) и скопируем ее на диапазон G1 : G16000  . Получим сумму за вычетом наибольшего и наименьшего значений. Запишем в ячейку формулу - ЕСЛИ(И(2*(НАИБОЛЬШИЙ(A1:E1,1)+НАИМЕНЬШИЙ(A1:E1,1))<=G1,F1=1),1,0) и скопируем ее на диапазон H1 : H16000  . Считаем количество строк удовлетворяющих 1 и 2 условию - =СУММ(H:H)

Ответ: 607

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

Задача 3#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

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

Задача 4#56310

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

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

— сумма минимального и среднего числа равна максимальному числу;

— максимальное число чётное.

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

В столбец E записываем максимальные числа с помощью =МАКС(), в столбец F средние с помощью =МЕДИАНА(), в столбец G минимальные с помощью =МИН(). Тогда сможет узнать, подходит ли нам строка или нет, с помощью формулы =ЕСЛИ(И(ОСТАТ(E1; 2)=0; F1+G1=E1); 1; 0). Посчитаем количество строк, в которых результат — 1.

 

Ответ: 1

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

Задача 5#40278

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

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

— сумма двух чисел равна сумме трех других;

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

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

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

Решение

Воспользуемся формулой НАИБОЛЬШИЙ(множество; k), которая возвращает k-ое наибольшее значение в указанном множестве, чтобы отсортировать каждую четвёрку чисел по убыванию. Так, в ячейке F1 запишем формулу =НАИБОЛЬШИЙ(A1:E1,1), в ячейку G1 — =НАИБОЛЬШИЙ(A1:E1,2), H1 — =НАИБОЛЬШИЙ(A1:E1,3), I1 — =НАИБОЛЬШИЙ(A1:E1,4), J1 — =НАИБОЛЬШИЙ(A1:E1,5). Скопируем формулы на все столбцы таблицы.

Проверим первое условие, а именно, что сумма двух чисел равна сумме трех других с помощью формулы =ЕСЛИ(СУММ(F1:G1)=СУММ(H1:J1),1,0). Проверим второе условие, а именно, что произведение максимального и минимального чисел равно произведению оставшихся с помощью формулы =ЕСЛИ(F1*J1=G1*H1*I1,1,0).

Осталось найти строки, удовлетворяющие двум условиям задачи =ЕСЛИ(И(K1=1,L1=1),1,0). С помощью формулы =СУММ(M:M) получим ответ на задачу — 2  .

Решение

f = open(’Задание 9.txt’)
count = 0
for i in range(1000):
    a = [int(s) for s in f.readline().split()]
    flag = False
    if min(a) != 0:
        if max(a) * min(a) == (a[0] * a[1] * a[2] * a[3] * a[4] // max(a) // min(a)):
            for j in range(5):
                for k in range(j + 1, 5):
                    if a[j] + a[k] == sum(a) - a[j] - a[k]:
                        flag = True
    else:
        if a.count(0) > 1:
            for j in range(5):
                for k in range(j + 1, 5):
                    if a[j] + a[k] == sum(a) - a[j] -a[k]:
                        flag = True
    if flag:
        count += 1
print(count)

Решение покороче

f = open(’Задание 9.txt’)
ans = 0
for i in range(1000):
    a = sorted([int(s) for s in f.readline().split()])
    pr = ((a[-1] * a[0]) == (a[1] * a[2] * a[3]))
    if pr and any((a[j] + a[k]) == (sum(a) - a[j] - a[k]) for j in range(5) for k in range(j + 1, 5)):
        ans += 1
print(ans)

Ответ: 2

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

Задача 6#40277

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

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

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

Решение таблицей:

Найдем максимальное и минимальное числа: в ячейку G1  запишем формулу =МАКС(A1:D1), а в H1  запишем =МИН(A1:D1). Найдем их произведение в ячейке I1  =G1*H1. Теперь найдем сумму оставшейся пары чисел, для этого в ячейку J1  запишем формулу =СУММ(A1:D1)-G1-H1. Теперь проверим, подходит ли под условие данная четверка: =ЕСЛИ(J1>I1;1;0) (ячейка K1  ). Скопируем все пять ячеейк с формулами и вставим их во все строки, содержащие четверки. Найдем сумму столбца K  и запишем полученное значение в ответ.

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

f = open(’9.txt’)
n = 1000
ans = 0
for i in range(n):
    a = [int(s) for s in f.readline().split()]
    if (max(a) * min(a)) < (sum(a) - max(a) - min(a)):
        ans += 1
print(ans)

Ответ: 6

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

Задача 7#35899

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

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

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

Перенесем все данные из таблицы в текстовый документ

import itertools
f = open(’1.txt’) # копируем сюда все строчки из файла
n = 100 # всего строк
count = 0 # счетчик
for i in range(n):
    # разбиваем строку по символу \t (tab)
    a = [int(x) for x in f.readline().split(’\t’)]
    # так как мы не знаем какая переменная в какой ячейке нам нужно перебрать все варианты их перестановок
    # используем itertools.permutations по массиву a
    for j in itertools.permutations(a):
        # переменная j --- кортеж из 4-ёх значений
        # внутри данного цикла мы рассмотрим все перестановки возможные перестановки внутри j
        if j[0] == j[1] * j[2] + j[3]: # если выражение сошлось с данным уравнением
            count += 1 # увеличиваем счетчик
            break # если данная перестановка нам подошла, то дальше смысла проверять другие перестановки в
            # данной строке нет
print(count)

Ответ: 2

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

Задача 8#35896

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

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

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

Копируем все данные из таблицы в текстовый файл

f = open(’1.txt’)
count = 0
for line in f: # бегаем по строчкам файла
    # разбиваем строку по символу \t (tab)
    a = [int(x) for x in line.split(’\t’)]
    # выбираем два числа, проверяем что
    # произведение чисел == сумме всего массива за исключением этих двух чисел
    for i in range(5):
        for j in range(i + 1, 5):
            if a[i] * a[j] == sum(a) - a[i] - a[j]:
                count += 1
print(count)

Ответ: 3

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

Задача 9#35894

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

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

— разность предмаксимального и минимального чисел не менее 30  ;

— максимальное число не более 700  .

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

Решение 1

Медиана - среднее из чисел. Аналог медианы для трех чисел — сумма чисел - максимум - минимум

В ячейку D1 запишем формулу =ЕСЛИ(И(МЕДИАНА(A1:C1) - МИН(A1:C1) >= 30; МАКС(A1:C1) <= 700); 1; 0). Скопируем ее на весь столбец D. Найдем количество единиц с помощью формулы =СУММ(D:D). Запишем полученное значение в ответ.

 

Решение 2

Максимальное из трёх чисел можно найти с помощью формулы = =МАКС(A1:C1), среднее — =СУММ(A1:C1)-МАКС(A1:C1)-МИН(A1:C1), минимальное — =МИН(A1:C1). Запишем три этих формулы соответственно в ячейки E1, F1, G1 и растянем на весь столбец.

В ячейку I1 запишем формулу =ЕСЛИ(И(E1<=700;F1-G1>=30);1;0) и растянем на весь столбец.

В ячейке K1 запишем формулу =СУММ(I1:I100) и получим ответ.

Ответ: 26

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

Задача 10#33882

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

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

— предмаксимальное число из четырёх чисел больше среднего арифметического трёх других;

— среди четырёх чисел совпадают ровно два (например, четверка чисел 12,12,13,29  подходит, а четверка чисел 12,12,12,29  - нет).

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

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

Для решения этой задачи воспользуемся функцией =НАИБОЛЬШИЙ(). Как она работает: подается массив и номер числа по убыванию. Так, в строке 123 61 89 157  функция =НАИБОЛЬШИЙ(x:y; 1) выведет 157  .

 

Запишем в четыре ячейки в столбик формулы =НАИБОЛЬШИЙ(A1:D1; 1), =НАИБОЛЬШИЙ(A1:D1; 2), =НАИБОЛЬШИЙ(A1:D1; 3), =НАИБОЛЬШИЙ(A1:D1; 4).

PIC

 

Дальше прописываем условия: =ИЛИ(A1=B1; A1=C1; A1=D1; B1=C1; B1=D1; C1=D1), =НЕ(ИЛИ(A1=B1=C1; A1=B1=D1; A1=C1=D1; B1=C1=D1)), =НЕ(A1=B1=C1=D1). Если все они истинны, тогда строка имеет только одну пару одинаковых чисел.

 

Прописываем формулу на оба условия =ЕСЛИ(И(K1:M1; G1>СРЗНАЧ(F1;H1;I1)); 1; 0) (где K1  : M 1  наши ячейки с условиями, а F 1 : I1  числа по убыванию).

Подсчитываем сумму столбца, она равна 17  .

Ответ: 17

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

Задача 11#33567

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

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

— наибольшее из четырёх чисел меньше суммы трёх других;

— среди четырёх чисел совпадают ровно два (например, четверка чисел 12,12,13,29  подходит, а четверка чисел 12,12,12,29  — нет).

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

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

Для решения этой задачи воспользуемся функцией =НАИБОЛЬШИЙ(). Как она работает: подается массив и номер числа по убыванию. Так, в строке 123 61 89 157  функция =НАИБОЛЬШИЙ(x:y; 1) выведет 157  .

 

Запишем в четыре ячейки в столбик формулы =НАИБОЛЬШИЙ(A1:D1; 1), =НАИБОЛЬШИЙ(A1:D1; 2), =НАИБОЛЬШИЙ(A1:D1; 3), =НАИБОЛЬШИЙ(A1:D1; 4).

PIC

 

Далее подумаем. Нам нужно выполнить 2 условия.

Сначала решим, что делать с первым. Получается нам нужно, чтобы F1 < (G1+H1+I1) - выполнялось.

Теперь решим, что делать со вторым условием. Нам нужно, чтобы была только ОДНА пара. Значит нам нужно рассмотреть все пары в данном случае.

Рассмотрим все пары: (F1 = G1), (F1 = H1), (F1 = I1), (G1 = H1), (G1 = I1), (H1 = I1). И нам нужно, чтобы только одна подходила. Т.е. если просуммировать эти логические выражения, мы должны получить единицу.

Совместить эти 2 условия в ЕСЛИ нам поможет конструкция И().

Теперь запишем всю формулу: =ЕСЛИ( И( ( F1 < (G1+H1+I1) ),((F1=G1) + (F1=H1) + (F1=I1) + (G1=H1) + (G1=I1) + (H1=I1))=1 ), 1, 0).

И перетащим ее на весь столбец.

 

Подсчитываем сумму столбца, она равна 24  .

 

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

Скопируем числа из Excel и перенесем в текстовый документ. Дальше будем работать с данным файлом.

f = open(’9.txt’)
n = 3200
ans = 0
for i in range(n):
    a = sorted([int(s) for s in f.readline().split()])
    if a[3] < (a[0] + a[1] + a[2]):
        k = (a[0] == a[1]) + (a[0] == a[2]) + (a[0] == a[3]) + (a[1] == a[2]) + \
            (a[1] == a[3]) + (a[2] == a[3])
        if k == 1:
            ans += 1
print(ans)

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