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

C++로 대각선 길이를 이용해 정사각형의 면적 구하기

정사각형의 면적이란?

면적(area)은 어떤 도형이 2차원 평면에서 차지하는 크기를 의미합니다.

정사각형(square)은 네 변의 길이가 모두 같고, 네 내각이 모두 직각(90도)인 사각형입니다.

대각선(diagonal)은 다각형에서 서로 인접하지 않는 두 꼭짓점을 연결하는 선분을 말합니다.

아래 그림에서 ac와 bd는 정사각형 abcd의 대각선에 해당합니다.

문제 접근 방법

이 문제에서는 정사각형의 대각선 길이가 주어졌을 때, 그 정사각형의 면적을 구하는 것이 목표입니다.

먼저 삼각형 abc에 피타고라스 정리를 적용해 보겠습니다.

ac² = bc² + ab²
d² = a² + a²
d = sqrt(2 × a²)
a² = d² / 2

여기서 정사각형의 면적은 한 변의 길이를 a라고 할 때 a × a, 즉 a²입니다.

따라서 대각선 길이를 이용한 면적 공식은 다음과 같습니다.

면적 = d² / 2

즉, 대각선 길이의 제곱을 2로 나누면 정사각형의 면적을 바로 구할 수 있습니다. 이 공식을 활용하면 대각선 길이만 주어져도 별도의 계산 과정 없이 간단히 면적을 얻을 수 있습니다.

C++ 구현 예제

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

int main(){
    double d = 10;
    double area = (d * d) / 2.0;
    cout << "Area of square of diagonal " << d << " is " << area;
    return 0;
}

실행 결과

area of square of diagonal 10 is 50

위 예제에서는 대각선 길이가 10인 정사각형의 면적을 계산했습니다. 공식에 따라 10 × 10 ÷ 2 = 50이 되어, 결과값으로 50이 출력되는 것을 확인할 수 있습니다.