# Rectangle with minimum possible difference between the length and the width in C++

Given an area of rectangle as input. The goal is to find the sides of a rectangle such that the difference between the length and breadth is minimum.

Area of Rectangle = length * breadth.

## Examples

Input − Area = 100

Output −Side of Rectangle with minimum difference:

Length = 10, Breadth = 10

Explanation − Sides with area = 100.

2 - 50, 4 - 25, 5 - 20, 10 - 10. Sides with minimum difference are 10-10 with difference = 0. As we know tha square is a rectangle with equal length on all sides.

Input − Area = 254

Output − Side of Rectangle with minimum difference :

Length = 127, Breadth = 2

Explanation − Only possible sides with minimum difference yo make a rectangle with area 254 are 127 and 2.

## Approach used in the below program is as follows

In this we will find the square root value of area and traverse from there to 1 in order to find values with minimum difference and area= input area.

• Take the integer variable Area as input.

• Function rectangleSides(int area1) takes area1 and prints the length of sides of Rectangle with minimum possible difference between the length and the width.

• Take integers length, breadth, tmp1.

• Set tmp1=ceil(sqrt(area1))

• Traverse using for loop (int i = tmp1; i > 0; i--).

• If (area1 % i == 0) then set length=area/i and breadth=i.

• Stop iteration using the break statement.

• Print sides length and breadth.

## Example

#include <bits/stdc++.h>
using namespace std;
void rectangleSides(int area1){
int tmp1 = ceil(sqrt(area1));
for (int i = tmp1; i > 0; i--) {
if (area1 % i == 0) {

length = ceil(area1 / 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

If we run the above code it will generate the following Output

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