C로 구현한 4153번 직각삼각형 문제 풀이입니다.
https://www.acmicpc.net/problem/4153
#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;
a *= a;
b *= b;
c *= c;
if(a+b==c || a+c==b || b+c==a)
printf("right\n");
else
printf("wrong\n");
}
}
기본적으로 삼각형이 직각인지 판별할 때 세변의 길이의 각 제곱 값을 통해 알 수 있다.
while문을 통해 세 변의 길이를 입력받고 만약 세 변의 길이가 모두 0이라면 반복문을 빠져나와 종료한다.
그렇지 않다면, 변수 a에 a 제곱값을, 변수 b에 b 제곱값을, 변수 c에 c 제곱값을 할당한다.
조건문을 통해 3가지의 경우 중 하나라도 만족한다면 직각 삼각형이므로 "right" 문자열을 출력하고
그렇지 않다면 직각 삼각형이 아니므로 "wrong" 문자열을 출력한다.
'백준(C언어) 풀이 > 수학' 카테고리의 다른 글
백준(c) 10953번 A+B - 6 풀이 (0) | 2021.09.23 |
---|---|
백준(C) 11653번 소인수분해 풀이 (0) | 2021.09.20 |
백준(C) 2747번 피보나치 수 풀이 (0) | 2021.09.20 |
백준(C) 5543번 상근날드 (0) | 2021.09.17 |
백준(C) 2581번 소수 풀이 (0) | 2021.09.15 |