Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 두 변이 주어진 직각삼각형의 빗변 구하기

이 문제에서는 직각삼각형의 높이(H)와 밑변(B)을 나타내는 두 개의 정수 값이 주어지며, 주어진 두 변을 이용해 직각삼각형의 빗변(hypotenuse)을 구하는 것이 목표입니다.

직각삼각형이란?

직각삼각형은 세 내각 중 하나가 정확히 90도(직각)인 특수한 삼각형입니다. 직각과 마주 보는 가장 긴 변을 '빗변'이라고 하며, 나머지 두 변은 각각 밑변(base)과 높이(height)라고 부릅니다.

C++로 두 변이 주어진 직각삼각형의 빗변 구하기

예시를 통해 문제를 살펴보겠습니다.

입력 : B = 5, H = 12
출력 : 13.00

해결 접근 방법

이 문제는 피타고라스 정리(Pythagoras Theorem)를 활용하면 아주 간단하게 해결할 수 있습니다. 피타고라스 정리에 따르면, 직각삼각형에서 빗변 길이의 제곱은 나머지 두 변인 밑변과 높이 길이의 제곱합과 같습니다.

수식으로 표현하면 다음과 같습니다.

$H^2\:=\:h^2\:+\:b^2$

즉, 빗변의 길이는 두 변의 제곱합에 제곱근을 적용한 값 √(h² + b²)이 됩니다.

C++ 구현 예제

아래 프로그램은 위에서 설명한 해결 방법이 실제로 동작하는 과정을 보여줍니다.

#include <iostream>
#include <math.h>
using namespace std;

double findHypotenuseTriangle(double h, double b) {
   return sqrt((h * h) + (b * b));
}

int main() {
   double h = 5.0, b = 12.0;
   cout << "직각삼각형의 밑변: " << b << endl;
   cout << "직각삼각형의 높이: " << h << endl;
   cout << "직각삼각형의 빗변 = " << findHypotenuseTriangle(h, b);
   return 0;
}

실행 결과

직각삼각형의 밑변: 12
직각삼각형의 높이: 5
직각삼각형의 빗변 = 13

마무리

이 알고리즘은 제곱 연산과 제곱근 계산만 수행하므로 시간 복잡도는 O(1)로, 입력 크기와 무관하게 항상 일정한 시간 안에 결과를 얻을 수 있습니다. cmath 헤더의 sqrt() 함수 하나만으로도 빗변을 손쉽게 계산할 수 있어 실전에서 매우 유용하게 활용됩니다.