Problem Solving/Baekjoon Online Judge

BOJ/백준 4153 직각삼각형

khj1999 2021. 6. 29. 01:04

https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

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

www.acmicpc.net

언어 : C++14

환경 : Visual Studio 2019

 

피타고라스 정리를 이용하는 문제이다.

직각삼각형에서 빗변의 길이의 제곱은 나머지 두 변의 길이의 제곱의 합과 같다.

따라서 삼각형의 세 변의 길이가 a, b , c 라 했을 때 a^2 + b^2 = c^2면 직각 삼각형이다.

 

코드

#include <iostream>
#define INT long long
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	while (1) {
		INT a, b, c;
		cin >> a >> b >> c;
		if (a == 0 && b == 0 && c == 0) break;
		if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) {
			cout << "right\n";
		}
		else {
			cout << "wrong\n";
		}
	}
	return 0;
}

결과

참고로 a, b, c의 길이가 각각 어떤 변의 길이인지 정해 놓은 건 없기 때문에 3가지 케이스를 확인해야 한다.