반응형
문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
코드
#include <stdio.h>
#include <math.h>
int main(void) {
int a, b, c;
int temp;
while(1) { //무한루프
scanf("%d %d %d", &a, &b, &c); //세 변의 길이 입력
if(a == 0 && b == 0 && c == 0) { //0, 0, 0을 입력 받는다면 무한루프 탈출
break;
}
while(1) { //c가 큰 수가 아닐 수도 있기 때문에 c를 큰 수로 바꿔주기 위하여 순환
if(c > a && c > b) { //c가 제일 커지면 탈출
break;
}
//a, b, c 순환
temp = a;
a = b;
b = c;
c = temp;
}
if((pow(a, 2) + (pow(b, 2))) == pow(c, 2)) { //피타고라스의 정리 a^2 + b^2 = c^2
printf("right\n");
}
else {
printf("wrong\n");
}
}
return 0;
}
*피타고라스의 정리
삼각형 3개의 변을 a, b, c라 하고 c에 대한 각이 직각일 때 a^2+b^2=c^2를 이용해 직각 삼각형임을 증명할 수 있다
반응형
'🧠 Algorithm > [C] BOJ' 카테고리의 다른 글
[C언어] 1002번 - 터렛 (0) | 2022.04.01 |
---|---|
[C언어] 3053번 - 택시 기하학 (0) | 2022.04.01 |
[C언어] 3009번 - 네 번째 점 (0) | 2022.04.01 |
[C언어] 1085번 - 직사각형에서 탈출 (0) | 2022.04.01 |
[C언어] 9020번 - 골드바흐의 추측 (0) | 2022.04.01 |