C++で四角形の角度を求めるプログラム|等差数列の公差から内角を計算する方法
この問題では、等差数列(AP)の公差を表す値 d が与えられます。この等差数列は、ある四角形のすべての内角を構成しており、C++で四角形の各角度を求めるプログラムを作成するのが課題です。
問題の概要
四角形の4つの内角は、公差 d を持つ等差数列の形で並んでいます。このとき、それぞれの角度の値を求める必要があります。
具体的な例を使って問題を理解してみましょう。
入力
d = 15
出力
67.5, 82.5, 97.5, 112.5
説明
第1の角度:x 第2の角度:x + 15 第3の角度:x + 30 第4の角度:x + 45
四角形の内角の合計は360度です。これを式に当てはめると、次のように計算できます。
x + (x + 15) + (x + 30) + (x + 45) = 360 4x + 90 = 360 4x = 270 => x = 67.5
解法のアプローチ
この問題を解くには、等差数列と四角形の性質を活用します。
x を初項とする等差数列の最初の4項は、「x、x+d、x+2d、x+3d」と表せます。
四角形の内角の合計は360度であるため、次のような方程式が成立します。
x + (x+d) + (x+2d) + (x+3d) = 360 4x + 6d = 360 2x + 3d = 180 => x = (180 - 3d)/2
この公式を使えば、d の値が分かっている時点で四角形の最小の角度を求められます。あとは d を順に加えていくことで、残りの3つの角度も簡単に計算できます。
解法の動作を示すプログラム
コード例
#include <iostream>
using namespace std;
float findAngle(float d){
return ((180 - (3*d))/2);
}
int main(){
float d = 25;
float a = findAngle(d);
cout<<"The angles of the quadrilateral are: "<<a<<"\t"<<(a+d)<<"\t"<<(a+ 2*d)<<"\t" <<(a+3*d);
return 0;
}出力
The angles of the quadrilateral are: 52.5 77.5 102.5 127.5
このプログラムでは、関数 findAngle() が公式「x = (180 − 3d) / 2」を使って最小の角度を計算します。main 関数では、その値に d を1倍〜3倍ずつ加えた4つの角度を順番に出力しており、d = 25 の場合、52.5°、77.5°、102.5°、127.5° という結果が得られます。これらの合計がちょうど360度になることから、正しく計算できていることが確認できます。
-
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) 解法のアプロ
-
C++で平行四辺形の面積を求めるプログラムの作成方法
この記事では、平行四辺形の底辺と高さを表す2つの値が与えられたとき、C++を使ってその面積を求めるプログラムを作成する方法を解説します。 平行四辺形とは? 平行四辺形とは、4つの辺からなる閉じた図形であり、向かい合う2組の辺がそれぞれ長さが等しく、互いに平行になっている四角形のことです。 問題を理解するための具体例 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積 = 底辺 × 高さ = 20 × 15 = 300 解決アプローチ この問題を解くには、平行四辺形の面積を求める幾何学の公式を使用します。 面積 = 底辺 × 高さ つまり、与えられた底辺と高さを掛け合わせ