ホームページ >バックエンド開発 >C++ >C++ で、次の内容を中国語に翻訳します。 長さと幅の差が最も小さい長方形を見つけます。

C++ で、次の内容を中国語に翻訳します。 長さと幅の差が最も小さい長方形を見つけます。

王林
王林転載
2023-09-16 13:21:09660ブラウズ

C++ で、次の内容を中国語に翻訳します。 長さと幅の差が最も小さい長方形を見つけます。

入力として長方形の領域を与えます。目標は、長さと幅の差を最小にする長方形の辺を見つけることです。

長方形の面積 = 長さ * 幅。

入力- 面積 = 100

出力- 差が最も小さい長方形の辺:

長さ = 10、幅 = 10

説明- 領域の辺 = 100。

2-50、4-25、5-20、10-10。差が最も小さい側は 10-10、差 = 0 です。誰もが知っているように、正方形はすべての辺の長さが等しい長方形です。

入力- 面積 = 254

出力- 差が最小の長方形の辺:

長さ = 127、幅 = 2

説明 - 面積 254 の長方形を作成するために可能な最小の辺の差は 127 と 2 だけです。

以下のプログラムで使用されるメソッドは次のとおりです。

ここでは、面積の平方根値を見つけて、そこから 1 までたどって、差が最も小さい値を見つけます。エリア=入力エリア。

  • #整数変数 Area を入力として受け取ります。

    li>
  • 関数 flagmentSides(int area1) は area1 を受け入れ、長さと幅の差をできるだけ小さくして、長方形の辺の長さを出力します。

  • 整数の長さ、幅、tmp1 を取得します。

  • Set tmp1=ceil(sqrt(area1))

  • for ループを使用して走査します (int i = tmp1;i> 0; i --)。

  • (area1 % i == 0) の場合は、長さ=面積/i、幅=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++ で、次の内容を中国語に翻訳します。 長さと幅の差が最も小さい長方形を見つけます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。