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 count of squares.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation of the approach
#include <bits/stdc++.h>
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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

      
# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation of the approach 
  
// Function to return the count 
// of odd length squares possible 
function count_square($n
  
    // To store the required count 
    $count = 0; 
  
    // For all odd values of i 
    for ($i = 1; $i <= $n; $i = $i + 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; 
  
echo count_square($N); 
  
// This code is contributed by AnkitRai01
?>

chevron_right


Output:

120


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.