Given an integer area, the task is to find the length and breadth of a rectangle with the given area such that the difference between the length and the breadth is minimum possible.
Input: area = 99
Output: l = 11, b = 9
All possible rectangles (l, b) are (99, 1), (33, 3) and (11, 9)
And the one with the minimum |l – b| is (11, 9)
Input: area = 25
Output: l = 5, b = 5
Approach: The task is to find two integers l and b such that l * b = area and |l – b| is as minimum as possible. Factorization can be used to solve the problem but doing just simple factorization from 1 to N will take a long time to get the required output for larger values of N.
To overcome this, just iterate upto . Considering < l ≤ N, then for all values of l, b will always be < .
Below is the implementation of the above approach:
// C# implementation of the approach
// Function to print the length (l)
// and breadth (b) of the rectangle
// having area = N and |l – b| as
// minimum as possible
static void find_rectangle(int area)
int l = 0, b = 0;
int M = (int)Math.Sqrt(area);
for (int i = M; i >= 1; i–)
// i is a factor
if (area % i == 0)
// l >= sqrt(area) >= i
l = (area / i);
// so here l is +ve always
b = i;
// Here l and b are length and
// breadth of the rectangle
Console.WriteLine(“l = ” + l + “, b = ” + b);
// Driver code
public static void Main()
int area = 99;
// This code is contributed by Mukul Singh.
l = 11, b = 9
Time Complexity: O()
- Length and Breadth of rectangle such that ratio of Area to diagonal^2 is maximum
- Number of squares of side length required to cover an N*M rectangle
- Minimum squares to evenly cut a rectangle
- Minimum squares to cover a rectangle
- Find minimum area of rectangle with given set of coordinates
- Minimum length of the shortest path of a triangle
- Minimum absolute difference between N and a power of 2
- Divide 1 to n into two groups with minimum sum difference
- Minimum difference between groups of size two
- Minimize the difference between minimum and maximum elements
- Minimum sum of absolute difference of pairs of two arrays
- Sum of minimum difference between consecutive elements of an array
- Pair with minimum absolute difference after solving each query
- Queries to add, remove and return the difference of maximum and minimum.
- Minimum replacements such that the difference between the index of the same characters is divisible by 3
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.