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

C++で与えられた2辺から直角三角形の斜辺を求める方法


この記事では、直角三角形の「高さ H」と「底辺 B」にあたる2つの整数値が与えられたとき、その斜辺を求める方法をC++で解説します。

直角三角形とは、1つの内角が直角(90度)となっている特別な三角形のことです。

まず、具体的な例で問題を確認してみましょう。

入力:B = 5, H = 12
出力:13.00

解法のアプローチ

この問題は、ピタゴラスの定理(三平方の定理)を使うことでシンプルに解くことができます。

ピタゴラスの定理とは、「直角三角形の斜辺の2乗は、残りの2辺の2乗の和に等しい」という定理です。

数式で表すと次のようになります。

$H^2\:=\:h^2\:+\:b^2$

つまり、底辺と高さのそれぞれの2乗を足し合わせ、その平方根を計算することで斜辺を求められます。

C++による実装例

上記の解法を実装したプログラムがこちらです。

#include <iostream>
#include <math.h>
using namespace std;
double findHypotenuseTriangle(double h, double b) {
   return ( sqrt((h*h) + (b*b)) );
}
int main() {
   double h = 5.0, b = 12.0;
   cout<<"直角三角形の底辺:"<<b<<endl;
   cout<<"直角三角形の高さ:"<<h<<endl;
   cout<<"直角三角形の斜辺 = "<<findHypotenuseTriangle(h,b);
   return 0;
}

実行結果

直角三角形の底辺:12
直角三角形の高さ:5
直角三角形の斜辺 = 13

計算量

この解法では平方根の計算を1回行うだけなので、時間計算量は O(1)、必要なメモリも定数のため空間計算量も O(1) となります。


  1. C++で三角形の重心を求めるプログラムの作成方法

    この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ

  2. C++で3辺の長さが与えられた三角形の外接円の面積を求める方法

    C++で三角形の外接円の面積を計算する 本記事では、3辺の長さが分かっている三角形について、その外接円(3つの頂点すべてを通る円)の面積をC++で求める方法を解説します。 下図のように、辺ABの長さをa、辺BCの長さをb、辺CAの長さをc、外接円の半径をrとします。 外接円の半径を求める公式 外接円の半径rは、3辺の長さと三角形の面積Sを用いて、次の式で表されます。 具体的な手順は以下の通りです。 まず、半周長 s = (a + b + c) / 2 を求めます。 ヘロンの公式より、三角形の面積は S = √(s(s − a)(s − b)(s − c)) で計算できます。 半径 r =