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:
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 = 2Penjelasan - 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 berikutDi 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.
#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
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!