Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

円に内接する正十角形の面積を求めるC++プログラム

この記事では、円の内部に内接する正十角形(デカゴン)の面積を求める方法について解説します。円の半径 r が与えられており、正十角形の一辺の長さを a とします。

円に内接する正十角形の面積を求めるC++プログラム

円に内接する正十角形の場合、中心における隣り合う頂点同士がなす角(中心角)は 360° ÷ 10 = 36° となります。この性質を利用すると、一辺の長さ a は半径 r を用いて次のように表すことができます。

円に内接する正十角形の面積を求めるC++プログラム

さらに、一辺の長さと中心角の関係から、円に内接する正十角形の面積は次の式で求められます。

円に内接する正十角形の面積を求めるC++プログラム

サンプルコード

以下は C++ による実装例です。半径を受け取って面積を返す area() 関数を定義しています。半径が負の値の場合は、幾何学的に無効な入力であるため -1 を返すようになっています。

#include <iostream>
#include <cmath>
using namespace std;
float area(float r) {
    if (r < 0) // rが負の場合は無効な値として扱う
        return -1;
    float area = (5 * pow(r, 2) * (3 - sqrt(5)) * (sqrt(5) + (2 * sqrt(5)))) / 4;
    return area;
}
int main() {
    float r = 8;
    cout << "Area : " << area(r);
}

出力結果

Area : 409.969

このプログラムでは、半径 r = 8 を入力として与えると、上記のように面積が計算されて出力されます。半径の値を変更すれば、任意の大きさの円に内接する正十角形の面積を同じ手順で求めることができます。

  1. 円に内接する正方形の中に収まる最大のルーロー三角形の面積を求める方法

    この記事では、円に内接する正方形の内部に収まる最大のルーロー三角形の面積を求める方法を解説します。正方形の一辺の長さを「a」、円の半径を「r」とします。前提となる幾何学的な関係まず押さえておきたいのは、正方形の対角線の長さが円の直径と一致するという点です。この関係を利用すると、正方形の一辺 a を半径 r を使って表すことができます。2r = a√2a = r√2ルーロー三角形の面積の導出ルーロー三角形の高さを h とすると、その高さは正方形の一辺と等しくなるため、a = h という関係が成り立ちます。ルーロー三角形の面積は、3つの扇形の面積の合計から中央の正三角形の面積を差し引いたものとして

  2. 正方形に内接する円の面積を求めるC言語プログラム

    正方形に内接する円とは、正方形の四つの辺すべてに接する円のことです。このとき、内接円の直径は正方形の一辺の長さと等しくなります。内接円の面積は、次の公式で計算できます。面積 = (π / 4) × a × aここで「a」は正方形の一辺の長さです。これは、内接円の半径が「a / 2」になるため、一般的な円の面積の公式「π × r2」に代入すると「π × (a/2)2 = (π/4) × a2」となることに基づいています。プログラムのロジック内接円の面積は、公式「((π / 4) × a × a)」を用いて計算します。そのために、数学的に 22/7 すなわち 3.14 とされる円周率(π)の値をあ