본문 바로가기
백준 알고리즘/JAVA

백준/4153/직각삼각형/JAVA

by minsol Kim 2021. 10. 29.

4153번: 직각삼각형 (acmicpc.net)

 

4153번: 직각삼각형

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

www.acmicpc.net

 

문제

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

입력

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

출력

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

 

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        
        while(true){
            int x = in.nextInt();
            int y = in.nextInt();
            int z = in.nextInt();
            
            if(x==0 && y==0 && z==0)
                break;
            if((x*x + y*y) == z*z){
                System.out.println("right");
                
            }
            else if(x*x ==(y*y + z*z)){
                System.out.println("right");
            }
            else if(y*y == (z*z + x*x)){
                System.out.println("right");
            }
            else{
                System.out.println("wrong");
            }
        }
    }
}

수학적 개념을 이용하면된다. 직각삼각형의 피타고라스공식을 이용하면 된다.

 

'백준 알고리즘 > JAVA' 카테고리의 다른 글

백준/10872/팩토리얼/JAVA  (0) 2021.11.02
백준/3053/택시 기하학/JAVA  (0) 2021.11.01
백준/3009/네 번째 점/JAVA  (0) 2021.10.28
백준/1085/직사각형에서 탈출/JAVA  (0) 2021.10.26
백준/11653/소인수 분해/JAVA  (0) 2021.10.14

댓글