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

C++で正三角形に内接する円に内接する正方形の面積を求める方法

本記事では、正三角形に内接する円、さらにその円に内接する正方形の面積を求める方法を解説します。

使用する記号の定義は以下の通りです。

  • 正方形の一辺の長さ:a
  • 円の半径:r
  • 正三角形の一辺の長さ:A

面積の導出手順

1. 円の半径を求める

正三角形に内接する円の半径は、その三角形の内接円の半径(内半径)と一致します。正三角形の内半径は次の式で表されます。

r = A / (2√3)

2. 正方形の対角線を求める

正方形が円に内接している場合、正方形の対角線は円の直径と一致します。したがって、対角線 d は次のように求められます。

d = 2r = 2 × A / (2√3) = A / √3

3. 正方形の面積を求める

対角線の長さが分かれば、正方形の面積は次の式で計算できます。

面積 = d² / 2 = (A / √3)² / 2 = A² / 6

つまり、求める面積は正三角形の一辺の長さの2乗を6で割った値になります。

C++による実装例

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

float area(float A) { // A は正三角形の一辺の長さ
    if (A < 0) // 負の値は無効
        return -1;
    float d = A / sqrt(3); // 対角線の長さ
    float area = 0.5 * d * d; // 面積 = d² / 2
    return area;
}

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

実行結果

Area is: 16.6667

計算結果の検証

一辺 A = 10 の正三角形の場合、理論値は A²/6 = 100/6 ≒ 16.6667 となり、プログラムの出力と一致します。負の値が入力された場合は無効な入力として -1 を返すため、堅牢性も確保されています。

  1. C++で正方形の面積を求めるプログラムの書き方

    本記事では、正方形の一辺が与えられたときに、その一辺をもとに正方形の面積を計算して出力するC++プログラムを紹介します。 正方形とは 正方形とは、4つの辺と4つの角(すべて90度)を持つ2次元の平面図形であり、すべての辺の長さが等しいという特徴があります。言い換えれば、正方形とは「すべての辺の長さが等しい長方形」の一種であるとも言えます。 正方形のイメージは以下の通りです。 正方形の面積 = 一辺 × 一辺 入力例と出力例 入力:6 出力:36 一辺が6なので、出力は 6×6=36 となります。 入力:12 出力:144 アルゴリズム 処理の流れは以下のようになります。 関数 int m

  2. C++で正三角形の面積と周囲の長さを計算するプログラム

    正三角形とは? その名の通り、正三角形とは3つの辺の長さがすべて等しく、内角もすべて60°で等しい三角形のことです。正多角形の一種であるため、「正多角形としての三角形(regular polygon)」とも呼ばれます。 正三角形には以下のような性質があります。 3つの辺の長さがすべて等しい すべての内角が同じ60°である 下記は正三角形の図です。 問題の概要 正三角形の1辺の長さが与えられたとき、その面積と周囲の長さを求めることが課題です。ここでいう面積とは図形が占める領域の広さを指し、周囲の長さ(外周)とは三角形の境界線の全長を指します。 正三角形の面積と周囲の長さは、それぞれ次の公