Is it a Right Triangle?

Problem

  Write a program which judges wheather given length of three side form a right triangle. Print "YES" if the given sides (integers) form a right triangle, "NO" if not so.

 

Input

  Input consists of several data sets. In the first line, the number of data set, N is given. Then, N lines follow, each line corresponds to a data set. A data set consists of three integers separated by a single space.

 

Constraints

  • 1 ≤ length of the side ≤ 1,000
  • N ≤ 1,000

 

Output

  For each data set, print "YES" or "NO".

 

Sample Input

3
4 3 5
4 3 6
8 8 8

Output for the Sample Input

YES
NO
NO
 
 
 
题目大意
  给出 n 组长度,对于每组三个数,问能不能构成直角三角形。
 
题目解读
  原来直角三角形是 right triangle,看来笔者英语还是不行啊。

算法
  对于每组长度排个序,勾股定理判断是否直角三角形。
 
代码
1 n = int(input())
2 for i in range(n):
3     s = input().split()
4     for j in range(len(s)):
5         s[j] = int(s[j])
6     s.sort()
7     print("YES" if (pow(s[0], 2) + pow(s[1], 2) == pow(s[2], 2)) else "NO")

 

代码解读

  注意:以下内容完全根据笔者自己对 Python 3 的理解胡说八道。

  pow():指数函数(现在想想,有 ** 运算符为什么要用这个)。

posted @ 2018-03-26 21:24  Efve  阅读(362)  评论(0编辑  收藏  举报