Related Articles
Count squares with odd side length in Chessboard
• Difficulty Level : Basic
• Last Updated : 22 May, 2019

Given a N * N chessboard, the task is to count the number of squares having the odd side length.

Example:

Input: N = 3
Output: 10
9 squares are possible whose sides are 1
and a single square with side = 3
9 + 1 = 10

Input: N = 8
Output: 120

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: For all odd numbers from 1 to N and then calculate the number of squares that can be formed having that odd side. For the ith side, the count of squares is equal to (N – i + 1)2. Further add all such count of squares.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;`` ` `// Function to return the count``// of odd length squares possible``int` `count_square(``int` `n)``{`` ` `    ``// To store the required count``    ``int` `count = 0;`` ` `    ``// For all odd values of i``    ``for` `(``int` `i = 1; i <= n; i = i + 2) {`` ` `        ``// Add the count of possible``        ``// squares of length i``        ``int` `k = n - i + 1;``        ``count += (k * k);``    ``}`` ` `    ``// Return the required count``    ``return` `count;``}`` ` `// Driver code``int` `main()``{``    ``int` `N = 8;`` ` `    ``cout << count_square(N);`` ` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``class` `GFG {`` ` `    ``// Function to return the count``    ``// of odd length squares possible``    ``static` `int` `count_square(``int` `n)``    ``{`` ` `        ``// To store the required count``        ``int` `count = ``0``;`` ` `        ``// For all odd values of i``        ``for` `(``int` `i = ``1``; i <= n; i = i + ``2``) {`` ` `            ``// Add the count of possible``            ``// squares of length i``            ``int` `k = n - i + ``1``;``            ``count += (k * k);``        ``}`` ` `        ``// Return the required count``        ``return` `count;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `N = ``8``;`` ` `        ``System.out.println(count_square(N));``    ``}``}`` ` `// This code is contributed by Rajput-Ji`

## Python3

 `     ` `# Python implementation of the approach`` ` `# Function to return the count``# of odd length squares possible``def` `count_square(n):`` ` `    ``# To store the required count``    ``count ``=` `0``;`` ` `    ``# For all odd values of i``    ``for` `i ``in` `range``(``1``, n ``+` `1``, ``2``):`` ` `        ``# Add the count of possible``        ``# squares of length i``        ``k ``=` `n ``-` `i ``+` `1``;``        ``count ``+``=` `(k ``*` `k);`` ` `    ``# Return the required count``    ``return` `count;`` ` `# Driver code``N ``=` `8``;``print``(count_square(N));`` ` `# This code has been contributed by 29AjayKumar`

## C#

 `// C# implementation of the approach``using` `System;`` ` `class` `GFG {`` ` `    ``// Function to return the count``    ``// of odd length squares possible``    ``static` `int` `count_square(``int` `n)``    ``{`` ` `        ``// To store the required count``        ``int` `count = 0;`` ` `        ``// For all odd values of i``        ``for` `(``int` `i = 1; i <= n; i = i + 2) {`` ` `            ``// Add the count of possible``            ``// squares of length i``            ``int` `k = n - i + 1;``            ``count += (k * k);``        ``}`` ` `        ``// Return the required count``        ``return` `count;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``int` `N = 8;`` ` `        ``Console.WriteLine(count_square(N));``    ``}``}`` ` `// This code is contributed by Code_Mech.`

## PHP

 ``
Output:
```120
```

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up