끄적끄적 코딩
article thumbnail

수학문제입니다.

세 점을 입력받았을 때 직각삼각형인지 아닌지 확인하는 문제입니다.

배열에 세점을 입력받고 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

검색 태그