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

六角形に内接する最大の三角形の面積を求めるC++プログラム


正六角形に内接する最大の三角形の面積を求めるには、まずそれぞれの図形がどのような性質を持つのか、そして一方の図形がもう一方にどのように内接するのかを理解しておく必要があります。

三角形と六角形の基本

三角形は3つの辺からなる閉じた図形で、各辺の長さは等しい場合もあれば、異なる場合もあります。

六角形は6つの辺からなる閉じた図形で、こちらも辺の長さが等しい場合も異なる場合があります。

なぜ最大の三角形は正三角形になるのか

六角形に内接する三角形は、そのすべての頂点が六角形の頂点に接します。そのため、三角形の各辺は正六角形の対角線として扱うことができます。

ここで対象とするのは正六角形であるため、その内部に内接できる最大の三角形は必然的に正三角形となります。

面積公式の導出

下の図を参考に、三角形AGBに対してピタゴラスの定理を適用してみましょう。

(a/2)2 + (s/2)2 = a2 (a = 正六角形の辺の長さ)
            (s = 正三角形の辺の長さ)

a2/4 + s2/4 = a2
a2 − a2/4 = s2/4
3a2/4 = s2/4
3a2 = s2
s = a√3

面積 = (3√3 × a2) / 4

計算例

六角形の辺の長さが a = 6 の場合を考えてみます。

面積 = 3√3 × 36 ÷ 4 ≈ 46.7654

C++プログラム例

#include <iostream>
#include <math.h>
using namespace std;
int main() {
    float a = 6;
    if (a < 0)
        cout << "Wrong Input!";
    float area = (3 * sqrt(3) * pow(a, 2)) / 4;
    cout << "The area of the triangle is " << area;
    return 0;
}

このプログラムでは、まず入力値 a が負でないかどうかをチェックし、負の値であれば「Wrong Input!」と表示して不正な入力を排除します。その後、導出した公式「(3√3 × a²) ÷ 4」を用いて面積を計算し、結果を出力します。

実行結果

The area of the triangle is 46.7654

まとめ

正六角形に内接する最大の三角形は正三角形となり、その面積は六角形の辺の長さ a を使って「(3√3 × a²) ÷ 4」という公式で求められます。C++では sqrt() 関数と pow() 関数を組み合わせることで、この計算を簡単に実装できます。

  1. C++で正六角形に内接する最大の三角形の面積を求める方法

    本記事では、正六角形に内接する最大の三角形の面積を求める方法を解説します。正六角形の一辺の長さを「a」、その内側に描ける最大の三角形の一辺の長さを「b」とします。図から分かるように、六角形の一辺を利用して三角形を作ると、その一辺は2つの部分に分けられます。このとき、2つの直角三角形が現れます。三平方の定理(ピタゴラスの定理)を用いると、次の関係が成り立ちます。つまり、正六角形に内接する最大の三角形は正三角形となり、その一辺 b は b = √3 × a で表されます。この関係を正三角形の面積の公式に代入すると、最大の三角形の面積は次の式で求められます。面積 = (√3 ÷ 4) × b2 =

  2. C++で楕円の面積を求めるプログラムの作成方法

    この記事では、C++を使って楕円(だえん)の面積を求める方法を解説します。楕円にはいくつかの重要な構成要素があり、それぞれの意味を理解しておくと計算の仕組みがより明確になります。楕円の主な構成要素要素説明中心楕円の中心点。2つの焦点を結ぶ線分の中点でもあります。長軸楕円における最も長い直径です。短軸楕円における最も短い直径です。弦楕円上の2点を結ぶ線分のことです。焦点楕円を定義する2つの特別な点。図中に示された2点が該当します。通径焦点を通り、長軸に対して垂直な直線(線分)のことです。楕円の面積の公式楕円の面積は、長半径 a と短半径 b を使って次の式で表されます。面積 = π × a ×