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

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

本記事では、正六角形に内接する円、さらにその円に内接する正方形の面積を求める問題を解説します。正方形の面積を計算するには、正六角形の一辺の長さと正方形の一辺の長さの関係を導き出すことが鍵となります。

数学的な解法

1. 正六角形に内接する円の半径

一辺の長さを A とする正六角形に内接する円の半径 r は、次の式で表されます。

r = A√3 / 2

これは正六角形の中心から各辺に下ろした垂線の長さ(辺心距離)に相当します。

2. 円に内接する正方形の一辺

円に内接する正方形では、その対角線が円の直径と一致します。正方形の一辺を a とすると対角線は a√2 となるため、「a√2 = 2r」という関係が成り立ちます。これを整理して半径の公式を代入すると、正六角形の一辺 A を用いて正方形の一辺 a は次のように表せます。

a = √3A / √2

3. 正方形の面積

以上より、正方形の面積は次の式で求められます。

面積 = a² = (√3A / √2)²

この式を展開すると「面積 = 3A²/2」となり、正六角形の一辺だけで直接面積を計算できることが分かります。

C言語による実装例

以下は、正六角形の一辺から内接正方形の面積を計算するCプログラムの例です。ここでは一辺を 5 としています。

#include <stdio.h>
#include <math.h>

int main() {
    float a = 5;
    float area = pow((a * sqrt(3)) / (sqrt(2)), 2);
    printf("area = %f", area);
    return 0;
}

実行結果

area = 37.500000

一辺 5 の正六角形の場合、内接する正方形の面積は 37.5 となります。これは理論値 3A²/2 = 3 × 25 ÷ 2 = 37.5 とも一致しており、計算が正しいことを確認できます。

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

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

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

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