2023년 2월 26일에 작성됨
https://www.acmicpc.net/problem/4153
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
문제 분석
직각삼각형이 되는 공식인 피타고라스의 정리를 이용한다.
직각삼각형에서 빗변 길이의 제곱은 다른 두 변의 길이의 제곱의 합과 같다.
소스 코드 (⭕)
#include <stdio.h>
int main()
{
int a, b, c, max;
while (1)
{
scanf("%d %d %d", &a, &b, &c);
if (a == 0 && b == 0 && c == 0)
break;
if (a < c && b < c)
{
max = c;
c = 0;
}
else if (a < b && c < b)
{
max = b;
b = 0;
}
else
{
max = a;
a = 0;
}
if (max * max == a * a + b * b + c * c)
printf("right\n");
else
printf("wrong\n");
}
}
코드 분석
1. 무한 반복문으로 각 변의 길이 a, b, c를 입력받는다.
2. 만약 a, b, c 모두 0이라면 무한반복문을 빠져나간다.
3. if문으로 크기 비교를 통해 최댓값을 구해서 max에 따로 넣어주고, 해당하는 원래 값은 0으로 처리해준다.
4. 만약, 가장 긴 변인 max 제곱이 다른 두 변의 제곱과 같다면 직각삼각형이므로 right를 출력, 다르다면 wrong을 출력한다.
end
곧 있으면 개강이다... 으악 개강하면 더 바빠질텐데 그래도 최대한 열심히 해보자 파이팅!!👊👊
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
[C]백준_5597 : 과제 안 내신 분..? (2) | 2024.02.02 |
---|---|
[Python]백준_5086 : 배수와 약수 (2) | 2024.02.02 |
[C]백준_2446 : 별 찍기 - 9 (0) | 2023.12.23 |
[C]백준_2445 : 별 찍기 - 8 (0) | 2023.12.22 |
[C]백준_1789 : 수들의 합 (2) | 2023.12.21 |