Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа.
Определите, сколько среди заданных троек чисел таких, которые могут быть сторонами остроугольного треугольника.
Решение. Заметим, что треугольник является остроугольным, если квадрат длины наибольшей стороны треугольника будет меньше суммы квадратов длин других двух сторон. Тогда в
=(МИН(A1:C1))^2+(СУММ(A1:C1)-МИН(A1:C1)-МАКС(A1:C1))^2
и скопируем её во все ячейки
Ответ: 1074.
Приведём решение Сергея Калугина на языке Python.
cnt = 0
f = open('09.csv')
for s in f:
a = list(map(int,s.split(';')))
a.sort()
if a[0]**2 + a[1]**2 > a[2]**2:
cnt+=1
print(cnt)
Примечание. Файл следует сохранить в формате CSV.
Приведём решение Артёма Гридина на языке Python.
print([True if y[2]**2 < y[1]**2+y[0]**2 else False for y in tuple(map(lambda x: sorted(tuple(map(int, x.split(';')))), open('09.csv').read().splitlines()))].count(True))
Примечание. Файл следует сохранить в формате CSV.
PDF-версии: 