#2356. [经开区]直角三角形(rt)
[经开区]直角三角形(rt)
当前没有测试数据。
题目描述
国豪和国庆很喜欢数学,他们很早就自学了三角形的相关知识。 三角形的三边长分别用a、b、c三个字母表示,如果这三边的边长满 足如下关系:a²+b²=c²,则说明它们构成了一个直角三角形,且a和b 为直角边,c为斜边。现给出n条边的边长,请你从中选出三条边, 让它们能构成一个直角三角形,请问一共能构成多少个直角三角形。
输入格式
共两行。第一行, 一个整数n,表示有n条边。第二行n个正整数,表示每条边的长度。
输出格式
共一行, 一个整数,表示能构成的直角三角形的个数。
样例
7
4 3 4 1 3 5 4
6
解释#1
a²读a的平方,表示有2个a相乘,即a×a。
对于样例输入,可以从7条边中选出边长为3、4、5的三条边,因为3²+4²=5²,所以这三条边能构成一个直角三角形,又因为3出现了2次,4出现了3次,所以一共能构成2*3=6个直角三角形。
数据范围
- 对于 的测试数据满足:3<=n<=100000, 1<=每条边的长度<=1000。