Rumah > pembangunan bahagian belakang > C++ > 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

王林
Lepaskan: 2023-09-16 13:21:09
ke hadapan
647 orang telah melayarinya

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;
    }
    Salin selepas log masuk
  • Output

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

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan