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.**Examples:**

Input:area = 99Output: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 = 25Output: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++

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to print the length (l)` `// and breadth (b) of the rectangle` `// having area = N and |l - b| as` `// minimum as possible` `void` `find_rectangle(` `int` `area)` `{` ` ` `int` `l, b;` ` ` `int` `M = ` `sqrt` `(area), ans;` ` ` `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;` ` ` `break` `;` ` ` `}` ` ` `}` ` ` `// Here l and b are length and` ` ` `// breadth of the rectangle` ` ` `cout << ` `"l = "` `<< l << ` `", b = "` ` ` `<< b << endl;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `area = 99;` ` ` `find_rectangle(area);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `class` `GFG {` ` ` `// 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), ans;` ` ` `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;` ` ` `break` `;` ` ` `}` ` ` `}` ` ` `// Here l and b are length and` ` ` `// breadth of the rectangle` ` ` `System.out.println(` `"l = "` `+ l + ` `", b = "` `+ b);` ` ` `}` ` ` `// Driver code` ` ` `public` `static` `void` `main(String[] args)` ` ` `{` ` ` `int` `area = ` `99` `;` ` ` `find_rectangle(area);` ` ` `}` `}` `// This code is contributed by Ita_c.` |

## Python3

`# Python3 implementation of the approach` `import` `math as mt` `# Function to print the length (l)` `# and breadth (b) of the rectangle` `# having area = N and |l - b| as` `# minimum as possible` `def` `find_rectangle(area):` ` ` `l, b ` `=` `0` `, ` `0` ` ` `M ` `=` `mt.ceil(mt.sqrt(area))` ` ` `ans ` `=` `0` ` ` `for` `i ` `in` `range` `(M, ` `0` `, ` `-` `1` `):` ` ` `# i is a factor` ` ` `if` `(area ` `%` `i ` `=` `=` `0` `):` ` ` `# l >= sqrt(area) >= i` ` ` `l ` `=` `(area ` `/` `/` `i)` ` ` `# so here l is + ve always` ` ` `b ` `=` `i` ` ` `break` ` ` ` ` `# Here l and b are length and` ` ` `# breadth of the rectangle` ` ` `print` `(` `"l ="` `, l, ` `", b ="` `, b)` `# Driver code` `area ` `=` `99` `find_rectangle(area)` `# This code is contributed by` `# Mohit kumar 29` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG {` ` ` `// 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;` ` ` `break` `;` ` ` `}` ` ` `}` ` ` `// 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;` ` ` `find_rectangle(area);` ` ` `}` `}` `// This code is contributed by Mukul Singh.` |

## PHP

`<?php` `// Php 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` `function` `find_rectangle(` `$area` `)` `{` ` ` `$M` `= ` `floor` `(sqrt(` `$area` `));` ` ` `for` `(` `$i` `= ` `$M` `; ` `$i` `>= 1; ` `$i` `--)` ` ` `{` ` ` `// i is a factor` ` ` `if` `(` `$area` `% ` `$i` `== 0)` ` ` `{` ` ` `// l >= sqrt(area) >= i` ` ` `$l` `= ` `floor` `(` `$area` `/ ` `$i` `);` ` ` `// so here l is +ve always` ` ` `$b` `= ` `$i` `;` ` ` `break` `;` ` ` `}` ` ` `}` ` ` `// Here l and b are length and` ` ` `// breadth of the rectangle` ` ` `echo` `"l = "` `, ` `$l` `, ` `", b = "` `, ` `$b` `, ` `"\n"` `;` `}` `// Driver code` `$area` `= 99;` `find_rectangle(` `$area` `);` `// This code is contributed by Ryuga` `?>` |

**Output:**

l = 11, b = 9

**Time Complexity:** O()

Below is simple implementation.

## CPP

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to print the length (l)` `// and breadth (b) of the rectangle` `// having area = N and |l - b| as` `// minimum as possible` `void` `find_rectangle(` `int` `area)` `{` ` ` `for` `(` `int` `i = ` `ceil` `(` `sqrt` `(area)); i <= area; i++) {` ` ` `if` `(area / i * i == area) {` ` ` `printf` `(` `"%d %d"` `, i, area / i);` ` ` `return` `;` ` ` `}` ` ` `}` `}` `// Driver code` `int` `main()` `{` ` ` `int` `area = 99;` ` ` `find_rectangle(area);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `import` `java.io.*;` `class` `GFG {` ` ` `// 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)` ` ` `{` ` ` `for` `(` `int` `i = (` `int` `)Math.ceil(Math.sqrt(area)); i <= area; i++)` ` ` `{` ` ` `if` `(area / i * i == area)` ` ` `{` ` ` `System.out.println(i + ` `" "` `+ (` `int` `)(area / i));` ` ` `return` `;` ` ` `}` ` ` `}` ` ` `}` ` ` ` ` `// Driver code` ` ` `public` `static` `void` `main (String[] args)` ` ` `{` ` ` `int` `area = ` `99` `;` ` ` `find_rectangle(area); ` ` ` `}` `}` `// This code is contributed by rag2127` |

## Python3

`# Python3 implementation of the approach` `import` `math` `# Function to print the length (l)` `# and breadth (b) of the rectangle` `# having area = N and |l - b| as` `# minimum as possible` `def` `find_rectangle(area):` ` ` `for` `i ` `in` `range` `(` `int` `(math.ceil(math.sqrt(area))) , area ` `+` `1` `):` ` ` `if` `((` `int` `(area ` `/` `i) ` `*` `i) ` `=` `=` `area):` ` ` `print` `(i, ` `int` `(area ` `/` `i))` ` ` `return` `# Driver code` `area ` `=` `99` `find_rectangle(area)` `# This code is contributed by avanitrachhadiya2155` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG` `{` ` ` `// 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)` ` ` `{` ` ` `for` `(` `int` `i = (` `int` `)Math.Ceiling(Math.Sqrt(area)); i <= area; i++)` ` ` `{` ` ` `if` `(area / i * i == area)` ` ` `{` ` ` `Console.WriteLine(i + ` `" "` `+ (` `int` `)(area / i));` ` ` `return` `;` ` ` `}` ` ` `}` ` ` `}` ` ` `// Driver code` ` ` `static` `void` `Main()` ` ` `{` ` ` `int` `area = 99;` ` ` `find_rectangle(area);` ` ` `}` `}` `// This code is contributed by divyeshrabadiya07.` |

**Output:**

11 9

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price.

In case you wish to attend live classes with industry experts, please refer **Geeks Classes Live** and **Geeks Classes Live USA**