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:
l = 11, b = 9
l = 11, b = 9
Time Complexity: O()
Below is simple implementation.
- Number of squares of side length required to cover an N*M rectangle
- Length and Breadth of rectangle such that ratio of Area to diagonal^2 is maximum
- Minimum squares to evenly cut a rectangle
- Minimum squares to cover a rectangle
- Find minimum area of rectangle with given set of coordinates
- Largest subset of rectangles such that no rectangle fit in any other rectangle
- Find minimum length sub-array which has given sub-sequence in it
- Minimum length of the shortest path of a triangle
- Minimum length of square to contain at least half of the given Coordinates
- Minimum length String with Sum of the alphabetical values of the characters equal to N
- Find the minimum of maximum length of a jump required to reach the last island in exactly k jumps
- Find minimum difference between any two elements | Set 2
- Divide 1 to n into two groups with minimum sum difference
- Minimum absolute difference between N and a power of 2
- Minimum difference between groups of size two
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.