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

C++로 대각선 길이를 이용해 정육각형의 넓이 구하기

개요

이번 글에서는 대각선 길이만 주어졌을 때 정육각형(정6각형)의 넓이를 계산하는 방법을 알아봅니다. 여기서 대각선 길이는 d로 표기합니다.

넓이 공식의 원리

정육각형은 여섯 개의 변과 각이 모두 같은 도형입니다. 정육각형의 각 내각은 모두 120°이며, 내각의 합은 720°입니다.

대각선 길이가 d일 때, 정육각형의 넓이는 다음 공식으로 구할 수 있습니다.

A = (3√3 × d²) / 8

이 공식은 정육각형을 여섯 개의 정삼각형으로 나누고, 대각선이 두 개의 정삼각형 변에 해당한다는 사실을 이용해 유도할 수 있습니다.

C++ 구현 예제

#include <iostream>
#include <cmath>
using namespace std;

float area(float d) {
    if (d < 0) // d가 음수이면 유효하지 않음
        return -1;
    float area = (3 * sqrt(3) * d * d) / 8.0;
    return area;
}

int main() {
    float r = 10;
    cout << "Area : " << area(r);
}

실행 결과

Area : 64.9519

코드 설명

  • area() 함수는 대각선 길이 d를 매개변수로 받습니다.
  • 입력값이 음수이면 유효하지 않은 값으로 판단하여 -1을 반환합니다.
  • 공식 (3√3 × d²) / 8을 적용해 넓이를 계산한 뒤 반환합니다.
  • main() 함수에서 대각선 길이 10을 넣어 결과를 출력하면 약 64.9519가 나옵니다.