목차
https://www.acmicpc.net/problem/4153
코드
#include <iostream>
#include <cmath>
using namespace std;
void big_num(int* n1, int* n2)
{
int temp;
if(*n1 > *n2)
{
temp = *n1;
*n1 = *n2;
*n2 = temp;
}
}
int main() {
int a, b, c;
cin >> a >> b >> c;
while(a + b + c != 0)
{
big_num(&a, &b);
big_num(&b, &c);
if(pow(c, 2) == pow(a, 2) + pow(b, 2)) cout << "right" << endl;
else cout << "wrong" << endl;
cin >> a >> b >> c;
}
}
설명
직각삼각형이 되기위해서는 세 변의 길이 중 가장 긴 변의 제곱이 다른 두 변의 제곱의 합과 동일해야한다는것을
사용해서 풀면 되는 문제이다.
다만, 입력되는 세 변의 길이가 길이순서대로 들어오지 않으므로, 우선적으로 들어오는 데이터 중에서 가장 긴 변을 찾아 분류하는 전처리 작업을 하면 된다.
'공부 > 백준(C++) - 2022~' 카테고리의 다른 글
백준 1002번: 터렛 [C++] (0) | 2022.01.22 |
---|---|
백준 3053번: 택시 기하학[C++] (0) | 2022.01.20 |
백준 3009번: 네 번째 점[C++] (0) | 2022.01.19 |
백준 1085번: 직사각형에서 탈출[C++] (0) | 2022.01.19 |
백준 9020번: 골드바흐의 추측[C++] (0) | 2022.01.19 |