십이면체(Dodecahedron)란 무엇인가?
'십이면체(dodecahedron)'라는 단어는 그리스어에서 유래했습니다. 여기서 'dodeca'는 '열둘'을, 'hedron'은 '면'을 의미합니다. 기하학에서 십이면체는 열두 개의 평면으로 이루어진 3차원 정다면체(platonic solid)를 말합니다.
다른 도형들과 마찬가지로 십이면체도 고유한 성질을 가지고 있으며, 그 내용은 다음과 같습니다.
- 20개의 꼭짓점(vertex)
- 30개의 모서리(edge)
- 12개의 정오각형 면 — 오각형(pentagon)은 다섯 개의 변을 가진 다각형입니다.
아래는 십이면체의 형태를 나타낸 그림입니다.

문제 정의
한 변의 길이가 주어졌을 때, 프로그램은 해당 십이면체의 표면적을 계산해야 합니다. 여기서 표면적이란 주어진 도형의 모든 면이 차지하는 전체 공간의 넓이를 의미합니다.
십이면체의 표면적을 계산하기 위한 공식은 다음과 같습니다.

공식을 텍스트로 표현하면 A = 3√(25 + 10√5) × a²이며, 여기서 a는 한 변의 길이입니다.
예시
입력 -: side=5 출력 -: 516.143
알고리즘
시작
1단계 -> 십이면체의 면적을 구하는 함수 선언
double area(int side)
return ((3 * sqrt(25 + 10 * (sqrt(5)))) * (pow(side, 2)))
2단계 -> main() 함수에서
변수 int side=5 선언
area(side) 결과 출력
종료
코드 구현
#include <bits/stdc++.h>
using namespace std;
// 십이면체의 표면적을 구하는 함수
double area(int side){
return ((3 * sqrt(25 + 10 * (sqrt(5)))) * (pow(side, 2))) ;
}
int main(){
int side = 5;
cout<< "Surface area of dodecahedron is : " << area(side);
return 0;
}
출력 결과
Surface area of dodecahedron is : 516.143
위 코드에서 sqrt() 함수는 제곱근을 계산하고, pow(side, 2) 함수는 변의 길이를 제곱합니다. 두 함수 모두 C++의 수학 라이브러리인 <cmath>(bits/stdc++.h에 포함됨)에서 제공되므로 별도의 구현 없이 바로 사용할 수 있습니다. 한 변의 길이가 5일 때, 계산된 십이면체의 표면적은 약 516.143이 됩니다.