본문 바로가기
코딩테스트/백준

[백준/java] 4153번 직각삼각형 - 피타고라스의 정리

by drCode 2021. 3. 11.
728x90
반응형

문제

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

입력

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

출력

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

 

 

package boj;

import java.util.Scanner;

public class RightTriangle {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		
		while(true) {
			int a = input.nextInt(), b = input.nextInt(), c = input.nextInt();
			if(a == 0 && b == 0 && c == 0) break;
			
			// 피타코라스 정리사용해서 풀 것
			int a2 = (int) Math.pow((double)a, (double)2);
			int b2 = (int) Math.pow((double)b, (double)2);
			int c2 = (int) Math.pow((double)c, (double)2);
			
			if(a2 + b2 == c2 || a2 + c2 == b2 || b2 + c2 == a2) System.out.println("right");
			else System.out.println("wrong");
		}
		
	}
}

 

직각삼각형 문제이므로 피타고라스 정리를 이용하여 풀면 된다.

a2 + b2 == c2일 때 뿐만 아니라 b2 == a2 + c2, a2 == b2 + c2인 경우도 고려해야한다.

 

728x90
반응형

댓글