Задача к ЕГЭ по информатике на тему «Задачи, требующие математической базы» №2

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

Решение Excel:

Для нахождения количества параллелепипедов, удовлетворяющих условию, необходимо найти площадь наибольшей грани и сумму площадей двух других граней. То есть для каждой тройки чисел необходимо найти произведение двух наибольших чисел, а также сумму произведений наибольшего и наименьшего чисел, среднего по величине и наименьшего чисел.

В ячейку D1 запишем формулу =НАИБОЛЬШИЙ(A1:C1,1)*НАИБОЛЬШИЙ(A1:C1,2) и скопируем её во все ячейки диапазона D2:D5000. Таким образом, для каждой тройки чисел найдём произведение двух наибольших чисел.

В ячейку E1 запишем формулу =НАИБОЛЬШИЙ(A1:C1,1)*НАИМЕНЬШИЙ(A1:C1,1)+НАИБОЛЬШИЙ(A1:C1,2)*НАИМЕНЬШИЙ(A1:C1,1) и скопируем её во все ячейки диапазона E2:E5000. Таким образом, для каждой тройки чисел найдём сумму произведений наибольшего и наименьшего чисел и среднего по величине и наименьшего чисел.

Теперь в ячейке F1 запишем формулу =ЕСЛИ(D1>E1,1,0) и скопируем её во все ячейки диапазона F2:F5000. С помощью формулы =СУММ(F1:F5000) получим ответ — 3119  .

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

f = open(’9.txt’, ’r’)
count = 0
for line in f:
    a, b, c = map(int, line.split())
    area1 = a * b
    area2 = b * c
    area3 = a * c
    if (area1 + area2 < area3) or (area1 + area3 < area2) or (area2 + area3 < area1):
        count += 1
print(count)


Ответ: 3119
Оцените статью
Я решу все!