본문 바로가기

백준/C++

[Baekjoon/C++] 직각삼각형

Baekjoon Online Judge

문제로 이동

 

문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

 

입력

 

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

 

출력

각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.

 


예제 입력 예제 출력
6 8 10
25 52 60
5 12 13
0 0 0
right
wrong
right

풀이

#include <iostream>
using namespace std;

int main() {
    int a, b, c; // 테스트케이스, 양의 정수이다.

    while (true) {
        cin >> a >> b >> c;
        
        if (a + b + c == 0) break;

        // 각 변의 제곱
        int aa = a * a;
        int bb = b * b;
        int cc = c * c;

        // 가장 긴 변의 제곱이 나머지 변들의 합과 같으면 직각삼각형이다.
        if (aa + bb == cc || aa + cc == bb || bb + cc == aa)
            cout << "right" << "\n";
        else
            cout << "wrong" << "\n";
    }
    
    return 0;
}