GFG App
Open App
Browser
Continue

# Count squares with odd side length in Chessboard

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

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 counts 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

 ``

## Javascript

 ``

Output:

`120`

Time Complexity: O(N)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up