C++での長さと幅の差を最小限に抑えた長方形
入力として長方形の領域を指定します。目標は、長さと幅の差が最小になるように長方形の辺を見つけることです。
長方形の面積=長さ*幅。
例
入力 −面積=100
出力 −最小の差のある長方形の側面:
長さ=10、幅=10
説明 −面積=100の辺。
2〜50、4〜25、5〜20、10〜10。最小の差のある辺は10〜10で、差は0です。ご存知のとおり、正方形はすべての辺が等しい長さの長方形です。
入力 −面積=254
出力 −最小の差のある長方形の側面:
長さ=127、幅=2
説明 −面積254の長方形を作成するために、最小の差を持つ可能な辺のみが127と2です。
以下のプログラムで使用されているアプローチは次のとおりです
ここでは、面積の平方根値を見つけ、そこから1までトラバースして、差が最小で面積=入力面積の値を見つけます。
-
整数変数Areaを入力として受け取ります。
-
関数rectangleSides(int area1)は、area1を取り、長さと幅の差を最小限に抑えて、長方形の辺の長さを出力します。
-
整数の長さ、幅、tmp1を取ります。
-
tmp1 =ceil(sqrt(area1))
を設定します -
forループを使用してトラバースします(int i =tmp1; i> 0; i-)。
-
(area1%i ==0)の場合、length =area/iおよびwidth=iを設定します。
-
breakステートメントを使用して反復を停止します。
-
辺の長さと幅を印刷します。
例
#include <bits/stdc++.h> using namespace std; void rectangleSides(int area1){ int length, breadth; int tmp1 = ceil(sqrt(area1)); for (int i = tmp1; i > 0; i--) { if (area1 % i == 0) { length = ceil(area1 / i); breadth = i; break; } } cout<<"Sides of Rectangle with minimum difference :"<<endl; cout << "Length = " << length << ", Breadth = " << breadth << endl; } int main(){ int Area = 140; rectangleSides(Area); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます
Sides of Rectangle with minimum difference : Length = 14, Breadth = 10
-
C++の++iとi++の違いは何ですか?
++のサフィックスバージョンとプレフィックスバージョンには大きな違いがあります。 プレフィックスバージョン(つまり、++ i)では、iの値がインクリメントされ、式の値はiの新しい値になります。したがって、基本的には、最初にインクリメントしてから、式に値を割り当てます。 postfixバージョン(つまり、i ++)では、iの値はインクリメントされますが、式の値はiの元の値です。したがって、基本的には、最初に式に値を割り当ててから、変数をインクリメントします。 例 理解を深めるために、いくつかのコードを見てみましょう- #include<iostream> using name
-
C ++のドット(。)演算子と->の違いは何ですか?
ドットと矢印の演算子は、どちらもC++でクラスのメンバーにアクセスするために使用されます。それらはさまざまなシナリオで使用されます。 C ++では、class、struct、またはunionとして宣言された型は、「クラス型」と見なされます。したがって、以下は3つすべてを指します。 a.bは、bがオブジェクトのメンバー(またはオブジェクトへの参照[1])である場合にのみ使用されます。したがって、a.bの場合、aは常にクラスの実際のオブジェクト(またはオブジェクトへの参照)になります。 a→bは基本的に(* a).bの省略表記です。つまり、aがオブジェクトへのポインタである場合、a→bはポイ