C++で長方形を作成する
特定の長方形のウェブページ領域があるとすると、私たちの仕事は、次の要件を満たす長さLと幅Wの長方形のウェブページをデザインすることです-
-
Webページの面積は、指定されたターゲット面積と同じである必要があります。
-
幅Wは長さLより大きくてはならず、L>=Wです。
-
LとWの差はできるだけ小さくする必要があります。
したがって、入力が4のような場合、ターゲット領域が4であるため、出力は[2,2]になり、それを構築するためのすべての可能な方法は[1,4]、[2,2]、[4]です。 、1]。ここでは、要件に従って、2、[1,4]は違法です。要件3によると、[4,1]は[2,2]と比較して適切ではありません。したがって、長さLは2、幅Wは2です。
これを解決するには、次の手順に従います-
-
iを初期化する場合:=面積の平方根、i> 0の場合、更新(iを1つ減らす)、実行-
-
area mod iが0と同じ場合、-
-
配列vを定義し、{area / i、i}
を挿入します -
vを返す
-
-
-
戻り値{-1、-1}
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; void print_vector(vector<auto> v){ cout << "["; for(int i = 0; i<v.size(); i++){ cout << v[i] << ", "; } cout << "]"<<endl; } class Solution { public: vector<int> constructRectangle(int area) { for (int i = sqrt(area); i > 0; i--) { if (area % i == 0) { vector<int> v{ area / i, i }; return v; } } return { -1, -1 }; } }; main(){ Solution ob; print_vector(ob.constructRectangle(4)); }
入力
4
出力
[2, 2, ]
-
C++で六角形に内接する最大の三角形の面積
ここでは、正六角形に内接する最大の三角形の領域が表示されます。六角形の各辺は「a」であり、三角形の各辺は「b」です。 この図から、六角形の1つの辺を使用して1つの三角形を作成すると、これらの2つの三角形が各辺を2つの部分に分割していることがわかります。 2つの直角三角形も見ることができます。ピタゴラスの公式から、次のように言うことができます- したがって、面積は- 例 #include <iostream> #include <cmath> using namespace std; float area(float a) { &nbs
-
C++を使用して楕円の領域を見つけるプログラム
ここでは、C++を使用して楕円の面積を取得する方法を説明します。楕円にはさまざまな部分があります。これらは以下のようなものです。 キーポイント 説明 センター 楕円の中心。また、2つの焦点を結ぶ線分の中心でもあります。 主軸 楕円の最長直径 nmemb これは要素の数であり、各要素のサイズはサイズです。 バイト。 短軸 楕円の最小直径 コード tを指す線分 フォーカス 図で示されている2つのポイント ロータス直腸 蓮の直腸は、焦点を通り、楕円の主軸に垂直な線です。 楕円の面積はΠ𝜋 ∗𝑎a∗b𝑏 サンプルコード #include <iostre