Count squares with odd side length in Chessboard

• Difficulty Level : Basic
• Last Updated : 17 May, 2021

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 possibleint 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 codeint main(){    int N = 8;     cout << count_square(N);     return 0;}

Java

 // Java implementation of the approachclass 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 possibledef 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 codeN = 8;print(count_square(N)); # This code has been contributed by 29AjayKumar

C#

 // C# implementation of the approachusing 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.



Javascript


Output:
120

My Personal Notes arrow_drop_up