# 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