# Count the number of rectangles such that ratio of sides lies in the range [a,b]

Given the length and breadth of N rectangles and a range i.e. [a, b], the task is to count the number of rectangles whose sides(larger/smaller) ratio is in the range [a, b].

**Examples:**

Input:{{165, 100}, {180, 100}, {100, 170}}, a = 1.6, b = 1.7

Output:2

165/100 = 1.65

170/100 = 1.7

Input:{{10, 12}, {26, 19}}, a = 0.8, b = 1.2

Output:1

**Approach:** Iterate in the array of pairs, and increase the counter when *max(a[i].first, a[i].second)/min(a[i].first, a[i].second)* lies in the range a and b.

Below is the implementation of the above approach:

`// C++ program to print the length of the shortest ` `// subarray with all elements greater than X ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to count the number of ratios ` `int` `countRatios(pair<` `int` `, ` `int` `> arr[], ` `int` `n, ` ` ` `double` `a, ` `double` `b) ` `{ ` ` ` `int` `count = 0; ` ` ` ` ` `// count the number of ratios ` ` ` `// by iterating ` ` ` `for` `(` `int` `i = 0; i < n; i++) { ` ` ` ` ` `double` `large = max(arr[i].first, arr[i].second); ` ` ` `double` `small = min(arr[i].first, arr[i].second); ` ` ` ` ` `// find ratio ` ` ` `double` `ratio = large / small; ` ` ` ` ` `// check if lies in range ` ` ` `if` `(ratio >= a && ratio <= b) ` ` ` `count += 1; ` ` ` `} ` ` ` ` ` `return` `count; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `pair<` `int` `, ` `int` `> arr[] = { { 165, 100 }, ` ` ` `{ 180, 100 }, ` ` ` `{ 100, 170 } }; ` ` ` `double` `a = 1.6, b = 1.7; ` ` ` `int` `n = 3; ` ` ` ` ` `cout << countRatios(arr, n, a, b); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

**Output:**

2

## Recommended Posts:

- Program to find the count of coins of each type from the given ratio
- Number of rectangles in N*M grid
- Number of rectangles in a circle of radius R
- Number of unique rectangles formed using N unit squares
- Ratio of mth and nth terms of an A. P. with given ratio of sums
- Find the number of rectangles of size 2*1 which can be placed inside a rectangle of size n*m
- Count Odd and Even numbers in a range from L to R
- Count numbers with unit digit k in given range
- Find if two rectangles overlap
- Find all rectangles filled with 0
- Sum of Areas of Rectangles possible for an array
- Create a matrix with alternating rectangles of O and X
- Smallest square formed with given rectangles
- Total area of two overlapping rectangles
- Check whether a point lies inside a sphere or not

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.