피타고라스의 정리에 대해 배우는 문제
제약사항)
시간 : 1 초
메모리 : 128 MB
문제)
과거 이집트인들은 각 변들의 길이가 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 |
풀이 순서)
피타고라스의 정리를 이용한 단순 계산 문제입니다.
1. 입력 받은 세 값 중 최댓값을 찾습니다.
2. (최댓값^2) = (나머지 중 하나^2) + (나머지 중 또 다른 하나^2) 을 만족하면 직각삼각형입니다.
소스코드 및 결과 (C)
#include <stdio.h>
int main() {
int max, i, tmp = 0;
int in[3];
while (1) {
scanf("%d %d %d", &in[0], &in[1], &in[2]);
if (in[0] == 0 && in[1] == 0 && in[2] == 0)
break;
max = 0;
tmp = 0;
for (i = 0; i < 3; i++)
if (in[i] > max)
max = in[i];
for (i = 0; i < 3; i++)
if (in[i] != max)
tmp += in[i] * in[i];
if (max*max == tmp)
printf("right\n");
else
printf("wrong\n");
}
return 0;
}
메모리 : 1112 KB
시간 : 0 ms
코드길이 : 433 B
'[C언어] 백준온라인 > * 수학 2' 카테고리의 다른 글
[C 언어] 백준 1002. 터렛 (0) | 2020.01.15 |
---|---|
[C 언어] 백준 3053. 택시 기하학 (0) | 2020.01.15 |
[C 언어] 백준 3009. 네 번째 점 (0) | 2020.01.15 |
[C 언어] 백준 1085. 직사각형에서 탈출 (0) | 2020.01.15 |
[C 언어] 백준 9020. 골드바흐의 추측 (0) | 2020.01.15 |