반응형
문제
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
예제 입력 1 복사
6 8 10
25 52 60
5 12 13
0 0 0
예제 출력 1 복사
right
wrong
right
#include<iostream>
#include<cmath>
int main()
{
int x, y, z;
while(1)
{
std::cin >> x >> y >> z;
if(x == 0 && y ==0 && z == 0) return 0;
if(pow(x, 2) + pow(y,2) == pow(z,2)){
std::cout << "right" << '\n';
continue;
}
if(pow(x, 2) + pow(z, 2) == pow(y,2)){
std::cout << "right" << '\n';
continue;
}
if(pow(y, 2) + pow(z, 2) == pow(x, 2)) {
std::cout << "right" << '\n';
continue;
}
else std::cout << "wrong" << '\n';
}
return 0;
}
이 문제도 간단하지만 주의할 점은 문제 예시에서는 주어지지 않았지만 6 8 10이 정답이면 10 6 8도 정답이고 10 8 6 또는 8 6 10도 정답에 포함시켜야 한다.
반응형
댓글