[4153] 직각삼각형

sky·2022년 5월 26일
0

BaekJoon Online Judge(B)

목록 보기
27/98
post-thumbnail

문제 설명

♕Bronze Ⅲ

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

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

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

예제 입력

6 8 10
25 52 60
5 12 13
0 0 0

예제 출력

right
wrong
right

풀이 방법

직각삼각형이 되기 위한 조건은 피타고라스 정리에 의해 밑변의 제곱 + 높이의 제곱 = 빗변의 제곱이다. 이 성질을 이용해서 구현했다.
다만, 주의할 점은 무엇이 가장 긴 길이(빗변)인지 모르기 때문에 OR 연산자를 이용해서 3가지 경우의 수를 따져야 한다. (그래서 처음에 c만 당연하게 빗변으로 두고 구현해서 틀렸었다.)

Solution

C

#include <stdio.h>

int main() {
    long a,b,c;
    while(1){
        scanf("%ld %ld %ld",&a,&b,&c);
        if(a == 0 && b == 0 && c == 0) break;
        if(a*a + b*b == c*c || a*a + c*c == b*b || c*c + b*b == a*a) printf("right\n");
        else printf("wrong\n");
    }
    return 0;
}

Total Time

  • 2022-05-26 | 21:00 - 21:15
profile
개발자가 되고 싶은 1人

0개의 댓글

관련 채용 정보