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 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. |
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 possiblefunction 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> |
120
Time Complexity: O(N)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
