Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam C++, terjemah yang berikut ke dalam bahasa Cina: Cari segi empat tepat dengan perbezaan terkecil antara panjang dan lebar

Dalam C++, terjemah yang berikut ke dalam bahasa Cina: Cari segi empat tepat dengan perbezaan terkecil antara panjang dan lebar

王林
王林ke hadapan
2023-09-16 13:21:09625semak imbas

Dalam C++, terjemah yang berikut ke dalam bahasa Cina: Cari segi empat tepat dengan perbezaan terkecil antara panjang dan lebar

Diberikan kawasan segi empat tepat sebagai input. Matlamatnya adalah untuk mencari sisi segi empat tepat yang meminimumkan perbezaan antara panjang dan lebar.

Luas segi empat tepat = panjang * lebar. Contoh Sisi segi empat tepat:

Panjang = 10, Lebar = 10

Penjelasan − Sisi dengan luas = 100.

2 - 50, 4 - 25, 5 - 20, 10 - 10. Bahagian yang mempunyai perbezaan terkecil ialah 10-10, Perbezaan = 0. Seperti yang kita ketahui, segi empat sama ialah segi empat tepat dengan semua sisi sama panjang.

Input

− Luas = 254

Output −🎜🎜#− Sisi minimum:

Panjang = 127, Lebar = 2

Penjelasan - Perbezaan minimum antara satu-satunya sisi yang mungkin untuk membuat segi empat tepat dengan luas 254 ialah 127 dan 2.

Kaedah yang digunakan dalam atur cara di bawah adalah seperti berikut

Di sini kita akan mencari nilai punca kuasa dua luas dan merentasi dari sana ke 1 untuk mencari nilai dengan beza dan luas terkecil= Luas input.

Mengambil kawasan pembolehubah integer sebagai input.

Function fragmentSides(int area1) menerima kawasan1 dan mencetak sisi panjang segi empat tepat, dengan perbezaan antara panjang dan lebar sekecil mungkin.

Dapatkan panjang, lebar, tmp1 integer.
  • Tetapkan tmp1=ceil(sqrt(kawasan1)) li>
  • Gunakan gelung int untuk i = tmp1;i>
  • Jika (luas1 % i == 0) kemudian tetapkan panjang=luas/i dan lebar=i.
  • Gunakan pernyataan rehat untuk menghentikan lelaran.
  • Cetak sisi panjang dan lebar.
  • Contoh
  • #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;
    }
  • Output

    Jika kita menjalankan kod di atas# ia akan menjana kod output berikut🎜 #
    Sides of Rectangle with minimum difference :
    Length = 14, Breadth = 10

Atas ialah kandungan terperinci Dalam C++, terjemah yang berikut ke dalam bahasa Cina: Cari segi empat tepat dengan perbezaan terkecil antara panjang dan lebar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam