【C++】正二十面体の表面積と体積を求めるプログラムの作成方法
この記事では、正二十面体の一辺の長さが与えられたときに、その表面積と体積をC++で計算するプログラムの作り方を解説します。
正二十面体とは?
正二十面体(Icosahedron)は、5つのプラトンの立体のひとつである正多面体で、同じ大きさの正三角形20枚から構成されています。辺の数は30、頂点の数は12です。

図中の破線は、見えている面の裏側に隠れている辺を表しています。
入力例
a = 4
解法のアプローチ
この問題は、正二十面体の表面積・体積を求める幾何学の公式をそのまま使うことで解くことができます。一辺の長さを a とすると、各値は以下の式で表されます。
表面積(Surface Area)
= 5√3 × a² ≒ 8.660 × a²
体積(Volume)
= (5/12) × (3 + √5) × a³ ≒ 2.1817 × a³
あとは、これらの式を関数として実装し、一辺の長さを引数として渡すだけで計算結果が得られます。
サンプルプログラム
実際の動作を確認できるサンプルコードは以下の通りです。
#include <iostream>
using namespace std;
// 正二十面体の表面積を計算する関数
float calcIcoSArea(float a) {
return (8.660 * a * a);
}
// 正二十面体の体積を計算する関数
float calcIcoVolume(float a) {
return (2.1817 * a * a * a);
}
int main(){
float a = 7;
cout<<"正二十面体の一辺の長さ: "<<a<<endl;
cout<<"正二十面体の表面積: "<<calcIcoSArea(a)<<endl;
cout<<"正二十面体の体積: "<<calcIcoVolume(a)<<endl;
return 0;
}
出力結果
正二十面体の一辺の長さ: 7 正二十面体の表面積: 424.34 正二十面体の体積: 748.323
まとめ
正二十面体の表面積と体積は、それぞれ 8.660 × a²、2.1817 × a³ という定数倍の公式で簡単に求められます。一辺の長さを受け取って計算する専用の関数を用意しておけば、任意のサイズの正二十面体に対して即座に結果を得られるため、幾何学計算を行うプログラムでぜひ活用してみてください。
-
C++で楕円の面積を求めるプログラムの作成方法
この記事では、C++を使って楕円(だえん)の面積を求める方法を解説します。楕円にはいくつかの重要な構成要素があり、それぞれの意味を理解しておくと計算の仕組みがより明確になります。楕円の主な構成要素要素説明中心楕円の中心点。2つの焦点を結ぶ線分の中点でもあります。長軸楕円における最も長い直径です。短軸楕円における最も短い直径です。弦楕円上の2点を結ぶ線分のことです。焦点楕円を定義する2つの特別な点。図中に示された2点が該当します。通径焦点を通り、長軸に対して垂直な直線(線分)のことです。楕円の面積の公式楕円の面積は、長半径 a と短半径 b を使って次の式で表されます。面積 = π × a ×
-
直方体の表面積と体積を求めるJavaプログラム
この記事では、直方体の表面積と体積を計算するJavaプログラムの書き方について詳しく解説します。直方体とは、6つの長方形の面で構成される三次元の立体のことであり、各辺の長さ・幅・高さがそれぞれ異なる場合があります。立方体と直方体の違いは、立方体では長さ・高さ・幅がすべて等しいのに対し、直方体ではこれら3つの寸法が必ずしも同じではないという点です。直方体の表面積と体積の計算式直方体の表面積は、次の式で求めることができます。2*(縦 × 横 + 横 × 高さ + 高さ × 縦)直方体の体積は、次の式で求めることができます。縦 × 横 × 高さ以下に具体的な計算例を示します。入力Length = 6