C++で特定の周囲長で可能な直角三角形の数を数えます
三角形の周囲長Pが与えられます。周囲長は、三角形のすべての辺の合計です。目標は、同じ周囲長を持つ直角三角形の数を見つけることです。
三角形の辺がa、b、cの場合。次に、a + b + c=Pおよびa2+b2 =c2(a、b、およびcの任意の組み合わせに対するピタゴラスの定理)
これを確認するには、aを1からp / 2に、bをa+1からp/3に変更します。次に、c =p-a-b(a + b + c =p)
すべての直角三角形に、ピタゴラスの定理を適用します。 a、b、cの値は、任意の2つの辺の合計が常に3分の1より大きい三角形を形成する条件を満たす必要があります。
例を挙げて理解しましょう。
入力 −周囲長P =12
出力 −直角三角形の総数-1
説明 −
a + b + c=Pおよびa 2 を満たすa、b、およびcの唯一の値 + b 2 =c 2 (また、任意の2> 3分の1の合計)は4、3、および5です。
4 + 3 + 5 =12、3 * 3 + 4 * 4 =5 * 5(9 + 16 =25)も3 + 4> 5、4 + 5> 3、3 + 5> 4
入力 −周囲長P =10
出力 −直角三角形の総数−0
説明 −
a + b + c=Pおよびa 2 を満たすことができるa、b、およびcの値はありません。 + b 2 =c 2
以下のプログラムで使用されているアプローチは次のとおりです
-
指定された周囲の値を格納する整数変数の周囲を取ります。
-
関数rightTriangles(int p)は、周囲長を入力として受け取り、可能な直角三角形の総数を返します。
-
変数countは、可能な直角三角形の数を格納します。最初は0です。
-
a=1からp/2のforループ開始を使用する
-
ここでも、b =a+1からp/3のネストされたforループ開始を使用します(直角三角形では2つの辺が等しくなることはありません)
-
c=p-a-bを計算します。このa、b、cについて、(a + b> c &&b + c> a &&a + c> b)かどうかを確認します。
-
また、a * a + b * b ==c*cであるピタゴラスの定理も確認してください。真のインクリメントカウントの場合。
-
最後に、戻り数には、特定の周囲で可能な直角三角形の数が含まれます。
-
希望する結果としてカウントを返します。
注 −ピタゴラスの定理をチェックして、a、b、cの1つの組み合わせのみを調べて、一意の結果を得ます。
例
#include <bits/stdc++.h> using namespace std; int rightTriangles(int p){ int count = 0; int c=0; for( int a=1;a<p/2;a++){ for(int b=1;b<p/3;b++){ c=p-a-b; if( a+b>c && b+c>a && a+c>b) //condition for triangle{ if( (a*a+b*b)==c*c ) //pythagoras rule for right triangles { ++count; } } } } return count; } int main(){ int perimeter= 12; cout << "Total number of right triangles that can be formed: "<<rightTriangles(perimeter); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Total number of right triangles that can be formed: 1
-
C++でmが同一線上にある合計nポイントの三角形の数
2D平面上の点の数を表す2つの変数nとmが与えられます。 n個のポイントのうち、m個のポイントは同一線上にあります。目標は、これらのn個の点を使用して形成できる三角形の数を見つけることです。 同一線上の点 −同じ線上にある点は同一線上にあると呼ばれます。ポイントAとBは同一線上にあります。 n =4(A、B、C、D)の場合、m =2(A、B) 三角形の数- 4から任意の3つのポイントを選択=4C 3 ただし、同一線上の点は三角形を形成できないため、上記でカウントされる可能性のある三角形を削除します=2C 3 三角形の合計=4C 3 --2C 3 =4-0 =4
-
C++で指定されたサイズの長方形内で可能な菱形の数を数えます
高さX幅の寸法の長方形が与えられます。長方形は、点(0,0)を左下隅に持つ2D座標系で表されます。したがって、目標は、これらすべての条件が満たされるように、この長方形内で可能な菱形の数を数えることです- ひし形の面積は0を超えています。 ひし形の対角線はx軸とy軸に平行です。 ひし形には、すべてのコーナーの整数座標があります。 例を挙げて理解しましょう 入力 −長さ=3幅=3 出力 −指定されたサイズの長方形内で可能な菱形の数は次のとおりです。4 説明 −下の図には、height =width=3の長方形があります。また、面積が0を超え、対角線が両方の軸に平行(