728x90
수학문제입니다.
세 점을 입력받았을 때 직각삼각형인지 아닌지 확인하는 문제입니다.
배열에 세점을 입력받고 sort로 오름차순을 해주었습니다.
작은 두 값을 제곱한 후 더하고 큰 값을 제곱한 값과 비교해서
같으면 직각삼각형, 다르면 아니라고 판단하여서 풀었습니다.
피타고라스 정의에서 직각삼각형은
(a>b, c 일때) a^2 = b^2 + c^2의 공식을 가지는것을 참고했습니다.
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#define fio ios_base::sync_with_stdio(0), cin.tie(0)
using namespace std;
int main(int argc, char *argv[])
{
int side[3];
while (1) {
cin >> side[0];
cin >> side[1];
cin >> side[2];
if (side[0] == 0 && side[1] == 0 && side[2] == 0) {
break;
}
sort(side, side + 3);
if (pow(side[2], 2) == pow(side[0], 2) + pow(side[1], 2)) {
cout << "right" << endl;
}
else {
cout << "wrong" << endl;
}
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 1002번 터렛 (0) | 2019.08.31 |
---|---|
[C++] 백준 3053번 택시 기하학 (0) | 2019.08.31 |
[C++] 백준 3009번 네 번째 점 (0) | 2019.08.31 |
[C++] 백준 2217번 로프 (0) | 2019.08.31 |
[C++] 백준 10814번 나이순 정렬 (1) | 2019.08.31 |