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

C++로 구현하는 팔면체(Octahedron) 표면적 계산 프로그램

팔면체(Octahedron)란?

'팔면체(Octahedron)'라는 단어는 그리스어에서 유래했습니다. 'Octa'는 '여덟(8)'을, 'hedron'은 '면(face)'을 의미합니다. 기하학에서 팔면체는 여덟 개의 면으로 이루어진 3차원 정다면체(플라톤 입체)입니다. 다른 입체 도형과 마찬가지로 팔면체 역시 다음과 같은 고유한 성질을 가지고 있습니다.

  • 꼭짓점(vertex): 6개
  • 모서리(edge): 12개
  • 정삼각형 면: 8개

문제 정의

팔면체의 한 변의 길이가 주어졌을 때, 해당 팔면체의 표면적을 구하는 프로그램을 작성해야 합니다. 여기서 표면적이란 주어진 도형의 모든 면이 차지하는 전체 넓이를 의미합니다.

팔면체의 표면적을 계산하는 공식은 다음과 같습니다.

표면적 = 2√3 × a²

여기서 a는 팔면체의 한 변의 길이입니다.

이 공식이 성립하는 이유는 간단합니다. 팔면체는 8개의 정삼각형 면으로 구성되어 있으며, 한 변의 길이가 a인 정삼각형의 넓이는 (√3/4)a²입니다. 따라서 전체 표면적은 8 × (√3/4)a² = 2√3a²가 됩니다.

입력·출력 예시

입력: side = 5
출력: 86.6025

알고리즘

  1. 팔면체의 표면적을 계산하는 함수를 선언합니다.
  2. 함수 내부에서 공식 2 × √3 × (변의 길이)² 의 결과값을 반환합니다.
  3. main() 함수에서 변의 길이를 저장할 변수를 선언하고 초기화합니다.
  4. 표면적 계산 함수를 호출한 뒤 결과를 출력합니다.

C++ 코드 구현

#include <bits/stdc++.h>
using namespace std;

// 팔면체의 표면적을 계산하는 함수
double surface_area(double side){
    return (2*(sqrt(3))*(side*side));
}

int main(){
    double side = 5;
    cout << "Surface area of octahedron is : " << surface_area(side);
}

실행 결과

Surface area of octahedron is : 86.6025

코드 설명

위 코드의 핵심은 surface_area() 함수입니다. 이 함수는 매개변수로 받은 변의 길이(side)를 이용해 2 × √3 × side²를 계산하여 반환합니다. sqrt() 함수는 <cmath> 헤더에 포함되어 있으며, 이 코드에서는 <bits/stdc++.h>를 통해 함께 포함됩니다. main() 함수에서는 변의 길이를 5로 설정한 뒤 함수를 호출하고, 계산된 표면적 값인 86.6025를 화면에 출력합니다.