AOJ - Problem 0003 : Is it a Right Triangle?
3つの辺の長さを持つ三角形が直角三角形かどうか判定して出力する問題です。
多分中学校で習ったピタゴラスの定理を使います。
2つの辺の長さの2乗の和がもう一つの辺の長さの2乗と等しいか調べましょう。
辺が3つなので調べる組み合わせの3通りです。
#include <iostream> using namespace std; bool check(int a, int b , int c){ return ( a*a == ( b*b + c*c ) )? true : false ; } int main(){ int n, a, b, c; cin >> n; for(int i=0 ; i<n ; i++){ cin >> a >> b >> c; if( check(a,b,c) || check(b,c,a) || check(c,a,b) ){ cout << "YES" << endl; }else{ cout << "NO" << endl; } } }