Тип 9 № 39238 

Раздел кодификатора ФИПИ: Работа с таблицами. Задания для подготовки
i
Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа.
Задание 9
Определите, сколько среди заданных троек чисел таких, которые могут быть сторонами прямоугольного треугольника.
Решение. Заметим, что треугольник является прямоугольным, если квадрат длины гипотенузы треугольника будет равен сумме квадратов длин катетов этого треугольника. Тогда в ячейке D1 запишем формулу =(МАКС(A1:C1))^2 и скопируем её во все ячейки диапазона D2:D5000. В ячейке E1 запишем формулу:
=(МИН(A1:C1))^2+(СУММ(A1:C1)-МИН(A1:C1)-МАКС(A1:C1))^2
и скопируем её во все ячейки диапазона E2:E5000. Таким образом, получим квадрат длины гипотенузы и сумму квадратов катетов для каждой тройки чисел. После этого в ячейку F1 запишем формулу =ЕСЛИ(D1=E1;1;0) и скопируем её во все ячейки диапазона F2:F5000. Теперь, воспользовавшись формулой =СУММ(F1:F5000), получим ответ — 2.
Ответ: 2.
Приведём решение Сергея Калугина на языке Python.
f = open('09.csv')
cnt = 0
for s in f:
a = list(map(int,s.split(';')))
for i in range(len(a)-2):
if (a[i]**2+a[i+1]**2 == a[i+2]**2) or (a[i]**2+a[i+2]**2 == a[i+1]**2) or (a[i+1]**2+a[i+2]**2 == a[i]**2):
cnt += 1
print(cnt)
Примечание. Файл следует сохранить в формате csv.
Приведём решение Ильи Андрианова на языке Python.
count = 0
for s in open('9.txt'):
M = sorted(int(x) for x in s.split())
if M[0]**2 + M[1]**2 == M[2]**2:
count += 1
print(count)
Примечание. Файл следует сохранить в формате txt.
Ответ: 2