В каждой строке электронной таблицы записаны три натуральных числа, задающих длины трёх взаимно перпендикулярных рёбер прямоугольного параллелепипеда. Определите, сколько в таблице троек, для которых у заданного ими параллелепипеда можно так выбрать три грани с общей вершиной, что сумма площадей двух из них будет меньше площади третьей.
Решение 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) получим ответ — .
Решение программой:
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)