Java/백준알고리즘

[Java] 백준알고리즘 #4153 직각삼각형

Sehyeok20 2021. 3. 10. 20:38
반응형

백준알고리즘 #4153 직각삼각형 문제

피타고라스의 정리를 이용하여 직각삼각형인지 아닌지를 판별하는 문제.

매우 간단하다.

a, b, c 값을 입력 받은 후 𝑎² = 𝘣² + 𝘤² 를 만족하는지만 확인하면 된다.

먼저 a, b, c 값이 0이라면 반복문이 종료되므로 break문을 이용해 0을 입력받으면 빠져나갈 수 있게 해 둔다.

if (a == 0 && b == 0 && c == 0)
	break;

 

그 후 a, b, c 중 어떤 값이 대각선인지 모르기 때문에 if문을 활용하여 3가지의 경우로 나눈다

a가 대각선이라면 𝑎² = 𝘣² + 𝘤²

b가 대각선이라면 𝘣² = 𝑎² 𝘤² 

c가 대각선이라면 𝘤² = 𝑎² + 𝘣²

가 되겠다.

 

이를 코드로 작성해보면 다음과 같다.

import java.util.Scanner;

public class Back4153 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int a, b, c;
		while (true) {
			a = sc.nextInt();
			b = sc.nextInt();
			c = sc.nextInt();

			if (a == 0 && b == 0 && c == 0)
				break;

			if (a * a + b * b == c * c) {
				System.out.println("right");
			} else if (a * a + c * c == b * b) {
				System.out.println("right");
			} else if (b * b + c * c == a * a) {
				System.out.println("right");
			} else
				System.out.println("wrong");

		}
	}

}
반응형