Cの直角二等辺三角形の内側に収まる2×2の正方形の最大数
問題を理解するには、下の図を参照してください
高さagと底辺gdの与えられた三角形には、それぞれ辺2の3つの正方形があります。コーナーの端「a」と「d」から、三角形aibとcdeが正方形に寄与することはありません。したがって、最初に、これらの三角形には常に2単位の長さが必要になります。いいえ、残りのベースgd(または高さag)を2で割ってnoを数える必要があります。正方形の。高さ(ag)の場合も同様です。
while(base> 2)squares + =(base-2)/ 2 base =base-2.Ap =b *(b + 1)/2….wherenewb =b-2>
例を挙げて理解しましょう。
入力 −ベース:12
出力 −平方数:15
説明
base 12> 2、squares 10/2 =5、new base 12-2 =10base 10> 2、squares 8/2 =4、new base 10-2 =8base 8> 2、squares 6/2 =3 、新しいベース8-2 =6base 6> 2、正方形4/2 =2、新しいベース6-2 =4base 4> 2、正方形2/2 =1、新しいベース4-2 =2base 2>2X合計正方形=5 + 4 + 3 + 2 + 1 =15
入力 − .5
出力 −平方数− 1
説明
base 5> 2、squares 3/2 =1、new base 5-2 =3base 3> 2、squares 1/2 =0、new base 3-2 =1base 1> 2 X Total squares =1
以下のプログラムで使用されているアプローチは次のとおりです
-
整数変数baseは、三角形の底を格納するために使用されます。
-
関数numofSquares(int b)は、底辺bの三角形が収容できる平方の数を数えるために使用されます。
-
最初はb=b-2-コーナーの端から余分なスペース
-
式b=floor(b / 2)によると、この新しいbは辺2のb *(b + 1)/2の正方形を持つことができます。
-
計算を平方数として返します。
例
#include#include int numofSquares(int b){//余分な部分を削除する//常に必要になるb =(b-2); //各正方形の底辺は//長さ2であるため、b =floor(b / 2); return b *(b + 1)/ 2;} int main(){int base =8; printf( "収容できる正方形の最大数:%d"、numofSquares(base)); 0を返す;}
出力
上記のコードを実行すると、次の出力が生成されます-
最大数収容できる正方形の:6
-
C++で直角二等辺三角形に収まる正方形の最大数
与えられたタスクは、底辺が「s」の二等辺三角形の中に収まる、辺が「a」の正方形の最大数を見つけることです(二等辺三角形には少なくとも2つの等しい辺があります)。 例を使用して、私たちがしなければならないことを理解しましょう: 入力 s=5, a=1 出力 10 説明 −基数の平方数は、sをaで割り、1を引くことで計算できます。したがって、基数の平方数=5/1 – 1 =4 同様に、下の4つの正方形を配置すると、base(s-a)の新しい二等辺三角形が得られます。次に同じ手順を繰り返して3つの正方形を取得し、1つの正方形が上に配置されるまで続けます。 入力 s=7, a=2 出力
-
C++の平行四辺形内の三角形の面積
図形の面積は、2次元平面での図形の範囲です。 三角形 は3辺のポリゴンです。 平行四辺形 は、反対側が等しく平行な四辺形です。 このプログラムでは、底辺と高さが平行四辺形で、平行四辺形と同じ底辺に三角形が内接しています。指定された底辺と高さを使用して三角形の面積を計算する必要があります。 平行四辺形は次の式で与えられるため、構築された三角形の面積は平行四辺形の底と一般的な高さを取ります=0.5*底*高さ area = ½ * b * h 例 #include<iostream> #include<math.h> using names