К содержанию

Подтема 2 из 6

Сумма, наибольшее и наименьшее

Наибольшие и наименьшие числа строки, сумма остальных, пары и средние — без деления.

Два наибольших

В каких строках учебной таблицы сумма двух наибольших чисел не больше суммы остальных?

Числа по величине берут из упорядоченной копии строки: последнее — наибольшее, предпоследнее — второе по величине. Повторы при этом сохраняются: у строки 9, 3, 9, 5 упорядоченная копия 3, 5, 9, 9, и второе по величине — тоже 9, а не 5.

В пятой строке 3, 3, 4, 5, 7, 8 два наибольших — 8 и 7, их сумма 15, а сумма остальных 3 + 3 + 4 + 5 = 15: «не больше» выполнено. В шестой 26 + 24 = 50 и 7 + 7 + 20 + 22 = 56 — тоже подходит. В остальных строках два наибольших больше: в первой 11 + 9 = 20 > 16. Ответ — 2 строки.

Таблица

=НАИБОЛЬШИЙ(A1:F1;k) даёт k-е по величине число строки, считая с наибольшего, =НАИМЕНЬШИЙ(A1:F1;k) — с наименьшего. Строку при этом не сортируют:

G1=НАИБОЛЬШИЙ(A1:F1;1)+НАИБОЛЬШИЙ(A1:F1;2)
H1=ЕСЛИ(G1<=СУММ(A1:F1)-G1;1;0)
Python

возвращает новый список по возрастанию, исходный a не меняется. -1 — последний элемент, -2 — предпоследний:

a = [3, 3, 4, 5, 7, 8]b = sorted(a)print(b)print(b[-1] + b[-2], sum(a) - b[-1] - b[-2])
[3, 3, 4, 5, 7, 8] 15 15
a = [9, 3, 9, 5]b = sorted(a)print(a, b)print(b[-1], b[-2], b[0], b[1])
[9, 3, 9, 5] [3, 5, 9, 9] 9 9 3 5
Тонкости:когда сортировать нельзя

Сортировка теряет исходный порядок. Если условие говорит о первом или последнем числе, о первых четырёх столбцах или о возрастании слева направо, нужна исходная строка — поэтому сортируют копию. Запись a.sort(), в отличие от sorted(a), меняет сам список.

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

Сумма остальных

Сумму остальных получают вычитанием: без наибольшего — S − M, без наименьшего и наибольшего — S − m − M. Здесь S — сумма строки, m — наименьшее, M — наибольшее число. Условие «наибольшее число меньше суммы остальных» — это M < S − M.

При повторах вычитание убирает одно наименьшее и одно наибольшее число. Для строки 2, 2, 5, 9, 9: S = 27, S − m − M = 27 − 2 − 9 = 16 — это 2 + 5 + 9. Убрать все двойки и девятки — другая операция, останется только 5.

S − m − M вычёркивает одну ячейку с наименьшим числом и одну с наибольшим: от 2, 2, 5, 9, 9 остаются 2, 5, 9 с суммой 16, от пяти четвёрок — три четвёрки с суммой 12. Вычеркнуть все двойки и девятки — другая операция: остаётся только 5.
Таблица
=МАКС(A1:E1)<СУММ(A1:E1)-МАКС(A1:E1)
=СУММ(A1:E1)-МИН(A1:E1)-МАКС(A1:E1)
Python
a = [2, 2, 5, 9, 9]print(sum(a) - max(a), sum(a) - min(a) - max(a))print(max(a) < sum(a) - max(a))
18 16 True
Тонкости:три числа как стороны треугольника

Три положительных числа — стороны треугольника, если сумма двух меньших больше наибольшего: после упорядочивания a ≤ b ≤ c это a + b > c. Без сортировки то же самое — сумма остальных больше наибольшего: S − M > M, то есть S > 2M. Остальные неравенства треугольника выполняются сами: короткая сторона всегда меньше суммы двух других.

Две меньшие стороны, отложенные вдоль наибольшей: 4 + 6 ровно достают до 10 — треугольник вырожден; 4 + 5 = 9 больше 7 — треугольник есть.

Вид треугольника решает знак разности a² + b² − c² для упорядоченных сторон: больше нуля — остроугольный, ноль — прямоугольный, меньше нуля — тупоугольный. Для тупоугольного сначала проверяют, что треугольник существует: у чисел 1, 2, 10 разность тоже отрицательна.

for a in [[4, 6, 10], [7, 4, 5], [5, 3, 4]]:    b = sorted(a)    d = b[0] ** 2 + b[1] ** 2 - b[2] ** 2    print(b, sum(a) > 2 * max(a), d)
[4, 6, 10] False -48 [4, 5, 7] True -8 [3, 4, 5] True 0

Пары с равными суммами

Можно ли числа 7, 3, 8, 4 разбить на две пары с равными суммами?

Четыре числа разбиваются на две пары с равными суммами, только если после упорядочивания сумма крайних равна сумме средних. Упорядочим: 3, 4, 7, 8. Крайние 3 + 8 = 11, средние 4 + 7 = 11 — можно.

Все три разбиения чисел 3 ≤ 4 ≤ 7 ≤ 8. В первых двух пара с меньшими числами проигрывает: 7 < 15 и 10 < 12. Сравняться могут только крайние и средние: 3 + 8 = 4 + 7 = 11.

Упорядоченная строка помогает и с арифметической прогрессией — числами с равными разностями соседей, как 2, 5, 8, 11. Если в условии сказано «после упорядочивания образуют прогрессию», сравнивают разности соседей упорядоченной копии.

Таблица

Упорядоченные числа ставят во вспомогательные столбцы функцией НАИМЕНЬШИЙ с k = 1, 2, 3, 4. Столбец I проверяет прогрессию, J — пары:

I1=И(F1-E1=G1-F1;G1-F1=H1-G1)
ABCDEFGHIJ
11128525811ИСТИНАИСТИНА
273843478ЛОЖЬИСТИНА
312381238ЛОЖЬЛОЖЬ
Формулы в ячейках
  • E1скопирована до E3=НАИМЕНЬШИЙ($A1:$D1;1)
  • F1скопирована до F3=НАИМЕНЬШИЙ($A1:$D1;2)
  • G1скопирована до G3=НАИМЕНЬШИЙ($A1:$D1;3)
  • H1скопирована до H3=НАИМЕНЬШИЙ($A1:$D1;4)
  • I1скопирована до I3=И(F1-E1=G1-F1;G1-F1=H1-G1)
  • J1скопирована до J3=E1+H1=F1+G1
Python
for a in [[7, 3, 8, 4], [1, 2, 3, 8]]:    b = sorted(a)    print(b, b[0] + b[3] == b[1] + b[2])
[3, 4, 7, 8] True [1, 2, 3, 8] False
Обоснование · необязательноПочему достаточно сравнить крайние и средние

Разбить четыре числа a ≤ b ≤ c ≤ d на две пары можно тремя способами: a, b и c, d; a, c и b, d; a, d и b, c. Если a + b = c + d, то меньшие числа сравнялись с большими — это возможно, только когда все четыре равны, и тогда a + d = b + c тоже верно. Если a + c = b + d, то (b − a) + (d − c) = 0, оба слагаемых неотрицательны, значит a = b и c = d, и снова a + d = b + c.

Чётности суммы недостаточно: у 1, 2, 3, 8 сумма 14 чётная, но пар с суммой 7 нет.

Квадрат суммы

Квадрат суммы и сумма квадратов — разные числа: сначала сложить и возвести в квадрат или возвести каждое и сложить. (3 + 5)² = 64, а 3² + 5² = 34.

Условие «квадрат суммы наименьшего и наибольшего больше суммы квадратов остальных» — это (m + M)² > Q − m² − M², где Q — сумма квадратов всей строки.

Таблица

Сумму квадратов даёт СУММКВ, степень — знак ^:

=(МИН(A1:F1)+МАКС(A1:F1))^2>СУММКВ(A1:F1)-МИН(A1:F1)^2-МАКС(A1:F1)^2
Python

Степень в Python — ; знак ^ здесь означает другую операцию:

a = [2, 5, 7, 10]q = sum([x ** 2 for x in a])print(sum(a) ** 2, q, q - min(a) ** 2 - max(a) ** 2)
576 178 74

Средние без деления

Вторая проверка задачи темы: среднее неповторяющихся больше суммы повторяющихся. Как записать её без деления?

Среднее сравнивают без деления: обе части неравенства умножают на количество чисел. Неповторяющихся чисел в подходящей строке ровно четыре. Если их сумма O, а сумма пары P, то O / 4 > P — то же, что O > 4P. Для пятой строки 24 > 4 · 6 = 24 неверно — тот же ответ, что и с делением, но без дробей.

Два средних сравнивают так же: S₁ / k₁ > S₂ / k₂ — то же, что S₁ · k₂ > S₂ · k₁. Например, среднее двух чисел с суммой 18 и среднее трёх чисел с суммой 24: 18 · 3 = 54 > 24 · 2 = 48, первое больше. Просто сравнивать суммы можно, только если чисел в группах поровну. И обе группы должны быть непустыми: у пустой группы среднего нет.

single = [4, 5, 7, 8]pair = [3, 3]print(sum(single) / len(single), sum(pair))print(sum(single) > len(single) * sum(pair))
6.0 6 False

В таблице то же сравнение — =M1>4*N1, если в M1 сумма неповторяющихся, а в N1 — сумма пары (подтема 4). Скрытое среднее переводят так же: «наибольшее больше среднего пяти остальных более чем в три раза» — M > 3 · (S − M) / 5, то есть 5M > 3(S − M).

Тонкости:целая часть среднего и квадраты чисел

Целая часть среднего натуральных чисел — sum(a) // len(a), в таблице — ЦЕЛОЕ(СРЗНАЧ(A1:G1)). Есть ли такое число в строке, проверяет .

Число x — квадрат натурального числа, если isqrt(x) ** 2 == x: isqrt из модуля даёт целую часть квадратного корня — у 81 и у 82 это 9, но 9² = 81.

from math import isqrta = [2, 8, 4, 9, 11, 13, 12]print(sum(a) // len(a), sum(a) // len(a) in a)print([x for x in a if isqrt(x) ** 2 == x])
8 True [4, 9]

Итого

  • По величинеsorted(a)[-2], НАИБОЛЬШИЙ(…;2) — с повторами
  • Сумма остальныхS − M, S − m − M — по одному экземпляру
  • Парыпосле упорядочивания a + d = b + c
  • Квадраты(a + b)² ≠ a² + b²
  • СредниеS₁ · k₂ > S₂ · k₁, группы непустые

Проверьте себя

Ответь сначала сам, потом открой ответ.

Вопрос 1
Найди второе наибольшее число строки 5, 8, 8, 2.
ОтветСкрыть ответ
Ответ
8: в упорядоченной строке 2, 5, 8, 8 повторяющаяся восьмёрка занимает два последних места.
Вопрос 2
Чему равно S − m − M для строки 4, 4, 6, 9, 9?
ОтветСкрыть ответ
Ответ
19: S = 32, убираем одну четвёрку и одну девятку — остаются 4, 6 и 9.
Вопрос 3
Можно ли числа 2, 9, 5, 6 разбить на две пары с равными суммами?
ОтветСкрыть ответ
Ответ
Да: после упорядочивания 2, 5, 6, 9 сумма крайних 2 + 9 = 11 равна сумме средних 5 + 6 = 11.
Вопрос 4
Сравни без деления: среднее трёх чисел с суммой 20 и среднее двух чисел с суммой 14.
ОтветСкрыть ответ
Ответ
Второе больше: 20 · 2 = 40 < 14 · 3 = 42. Действительно, 20 / 3 ≈ 6,7 < 7.
Вопрос 5
Могут ли числа 3, 4, 8 быть сторонами треугольника?
ОтветСкрыть ответ
Ответ
Нет: сумма двух меньших 3 + 4 = 7 не больше наибольшего 8 (иначе: S = 15 не больше 2M = 16).

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

Второе по величине

Найди второе наибольшее число строки 4, 9, 9, 6.

Введите число.

Сумма остальных при повторах

Для строки 3, 3, 8, 10, 10 найди S − m − M — сумму без одного наименьшего и одного наибольшего числа.

Введите число.

Прямоугольный треугольник

В каждой строке таблицы 9-9.xlsx, 9-9.txt записаны три натуральных числа. Определи, сколько троек могут быть сторонами прямоугольного треугольника.

9-9.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 19,6 КБ9-9.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 8,6 КБ

Введите число.

Тупоугольный треугольник

Введите число.

Арифметическая прогрессия

В каждой строке таблицы 9-7.xlsx, 9-7.txt записаны четыре натуральных числа. Определи количество строк, в которых все числа различны и после упорядочивания образуют арифметическую прогрессию.

9-7.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 22,9 КБ9-7.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 11,2 КБ

Введите число.

Две пары, но не прогрессия

Для таблицы 9-7.xlsx, 9-7.txt определи количество строк, числа которых можно разбить на две пары с равными суммами, но которые после упорядочивания не образуют арифметическую прогрессию.

9-7.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 22,9 КБ9-7.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 11,2 КБ

Введите число.

Квадрат суммы и сумма квадратов

На сколько квадрат суммы чисел 3 и 6 больше суммы их квадратов?

Введите число.

Квадрат суммы крайних

В каждой строке таблицы 9-1.xlsx, 9-1.txt записаны шесть натуральных чисел. Определи количество строк, в которых квадрат суммы наибольшего и наименьшего чисел больше суммы квадратов четырёх остальных.

9-1.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 31,0 КБ9-1.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 17,1 КБ

Введите число.

Среднее крайних и среднее остальных

Для той же таблицы 9-1.xlsx, 9-1.txt определи количество строк, в которых среднее арифметическое наибольшего и наименьшего чисел больше среднего арифметического четырёх остальных.

9-1.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 31,0 КБ9-1.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 17,1 КБ

Введите число.

Наибольшее и среднее остальных

Для той же таблицы 9-1.xlsx, 9-1.txt определи количество строк, в которых наибольшее число больше среднего арифметического пяти остальных более чем в три раза.

9-1.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 31,0 КБ9-1.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 17,1 КБ

Введите число.

Целая часть среднего и квадрат

В каждой строке таблицы 9-6.xlsx, 9-6.txt записаны семь натуральных чисел. Определи количество строк, в которых хотя бы одно число равно целой части среднего арифметического всех чисел строки и хотя бы одно число является квадратом натурального числа.

9-6.xlsxТаблица чисел — Excel-файл, как на экзаменеExcel · 35,7 КБ9-6.txtТа же таблица текстом: строка файла — строка таблицы, числа через пробелТекстовый файл · 22,4 КБ

Введите число.