 Open in App
Not now

# Count Distinct Rectangles in N*N Chessboard

• Difficulty Level : Basic
• Last Updated : 31 May, 2022

Given a N x N Chessboard. The task is to count distinct rectangles from the chessboard. For example, if the input is 8 then the output should be 36.
Examples:

```Input: N = 4
Output: 10

Input: N = 6
Output: 21```

Approach:
Suppose N = 8 i.e. 8 x 8 chessboard is given, So different rectangles that can be formed are:

```1 x 1, 1 x 2, 1 x 3, 1 x 4, 1 x 5, 1 x 6, 1 x 7, 1 x 8 = 8
2 x 2, 2 x 3, 2 x 4, 2 x 5, 2 x 6, 2 x 7, 2 x 8 = 7
3 x 3, 3 x 4, 3 x 5, 3 x 6, 2 x 7, 3 x 8 = 6
4 x 4, 4 x 5, 4 x 6, 4 x 7, 4 x 8 = 5
5 x 5, 5 x 6, 5 x 7, 5 x 8 = 4
6 x 6, 6 x 7, 6 x 8 = 3
7 x 7, 7 x 8 = 2
8 x 8 = 1```

So total unique rectangles formed = 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 36 which is the sum of the first 8 natural numbers. So in general, distinct rectangles that can be formed in N x N chessboard is:

```Sum of the first N natural numbers = N*(N+1)/2
= 8*(8+1)/2
= 36```

Below is the implementation of the above approach:

## C++

 `// C++ code to count distinct rectangle in a chessboard` `#include ` `using` `namespace` `std; `   `// Function to return the count ` `// of distinct rectangles ` `int` `count(``int` `N)` `{` `    ``int` `a = 0;` `    ``a = (N * (N + 1)) / 2;` `    ``return` `a;` `}`   `// Driver Code` `int` `main()` `{` `    ``int` `N = 4;` `    ``cout<

## Java

 `// Java program to count unique rectangles in a chessboard` `class` `Rectangle {`   `    ``// Function to count distinct rectangles` `    ``static` `int` `count(``int` `N)` `    ``{` `        ``int` `a = ``0``;`   `        ``a = (N * (N + ``1``)) / ``2``;`   `        ``return` `a;` `    ``}`   `    ``// Driver Code` `    ``public` `static` `void` `main(String args[])` `    ``{` `        ``int` `n = ``4``;` `        ``System.out.print(count(n)); ` `    ``}` `}`

## Python3

 `    ``# Python code to count distinct rectangle in a chessboard`   `# Function to return the count ` `# of distinct rectangles ` `def` `count(N):` `    ``a ``=` `0``;` `    ``a ``=` `(N ``*` `(N ``+` `1``)) ``/` `2``;` `    ``return` `int``(a);`     `# Driver Code` `N ``=` `4``;` `print``(count(N)); `   `# This code has been contributed by 29AjayKumar`

## C#

 `// C# program to count unique rectangles in a chessboard ` `using` `System;`   `class` `Rectangle ` `{ `   `    ``// Function to count distinct rectangles ` `    ``static` `int` `count(``int` `N) ` `    ``{ ` `        ``int` `a = 0; `   `        ``a = (N * (N + 1)) / 2; `   `        ``return` `a; ` `    ``} `   `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 4; ` `        ``Console.Write(count(n)); ` `    ``} ` `} `   `// This code is contributed by AnkitRai01`

## Javascript

 `// Javascript program to count unique rectangles in a chessboard ` `  `  `   ``// Function to count distinct rectangles ` `    ``function` `count(N) ` `    ``{ ` `        ``var` `a = 0; ` `  `  `        ``a = (N * (N + 1)) / 2; ` `  `  `        ``return` `a; ` `    ``} ` `  `  `    ``// Driver Code ` `        ``var` `n = 4; ` `        ``document.write(count(n)); `   `// This code is contributed by bunnyram19.  `

Output:

`10`

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Related Articles