Heim  >  Artikel  >  Backend-Entwicklung  >  Übersetzen Sie in C++ Folgendes ins Chinesische: Finden Sie das Rechteck mit dem kleinsten Unterschied zwischen Länge und Breite

Übersetzen Sie in C++ Folgendes ins Chinesische: Finden Sie das Rechteck mit dem kleinsten Unterschied zwischen Länge und Breite

王林
王林nach vorne
2023-09-16 13:21:09631Durchsuche

Übersetzen Sie in C++ Folgendes ins Chinesische: Finden Sie das Rechteck mit dem kleinsten Unterschied zwischen Länge und Breite

Gegeben ist eine rechteckige Fläche als Eingabe. Das Ziel besteht darin, die Seiten des Rechtecks ​​zu finden, die den Unterschied zwischen Länge und Breite minimieren.

Rechteckfläche = Länge * Breite.

Beispiel

Eingabe− Fläche = 100

Ausgabe− Die Seiten des Rechtecks ​​mit der kleinsten Differenz:

Länge = 10, Breite = 10

Erklärung− Die Seite mit Fläche = 100.

2-50, 4-25, 5-20, 10-10. Die Seite mit der kleinsten Differenz ist 10-10, Differenz = 0. Wie wir alle wissen, ist ein Quadrat ein Rechteck, dessen Seiten alle gleich lang sind.

Eingabe− Fläche = 254

Ausgabe− Seiten des Rechtecks ​​mit minimaler Differenz:

Länge = 127, Breite = 2

Erklärung - Minimale Differenz nur möglicher Seiten, um ein Rechteck mit einer Fläche von 254 zu erstellen Die Werte sind 127 und 2.

Die im folgenden Programm verwendete Methode ist wie folgt:

Hier ermitteln wir den Quadratwurzelwert der Fläche und traversieren von dort zu 1, um den Wert mit der kleinsten Differenz und Fläche = Eingabefläche zu finden.

  • Nehmen Sie die Ganzzahlvariable Area als Eingabe.

    li>
  • Die Funktion fragmentSides(int area1) akzeptiert Bereich1 und gibt die Seitenlängen des Rechtecks ​​mit der kleinstmöglichen Differenz zwischen Länge und Breite aus.

  • Nehmen Sie ganzzahlige Länge, Breite und tmp1.

  • Setzen Sie tmp1=ceil(sqrt(area1))

  • Verwenden Sie eine for-Schleife zum Durchlaufen (int i = tmp1; i > 0; i--).

  • Wenn (Fläche1 % i == 0), dann setze Länge=Fläche/i und Breite=i.

  • Verwenden Sie die Break-Anweisung, um die Iteration zu stoppen.

  • Seitenlänge und -breite bedrucken.

Beispiel

#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;
}

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert

Sides of Rectangle with minimum difference :
Length = 14, Breadth = 10

Das obige ist der detaillierte Inhalt vonÜbersetzen Sie in C++ Folgendes ins Chinesische: Finden Sie das Rechteck mit dem kleinsten Unterschied zwischen Länge und Breite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen