Open In App

Count squares with odd side length in Chessboard

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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 <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;
}


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




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


Javascript




<Script>
 
// Javascript implementation of the approach
 
// Function to return the count
// of odd length squares possible
function count_square(n)
{
 
    // To store the required count
    let count = 0;
 
    // For all odd values of i
    for (let i = 1; i <= n; i = i + 2) {
 
        // Add the count of possible
        // squares of length i
        let k = n - i + 1;
        count += (k * k);
    }
 
    // Return the required count
    return count;
}
 
// Driver code
    let N = 8;
 
    document.write(count_square(N));
 
</script>


Output: 

120

 

Time Complexity: O(N)

Auxiliary Space: O(1)



Last Updated : 31 May, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads