Given an integer N, the task is to find the count of squares of side 1 that can be drawn without lifting the pencil, starting at one corner of an N * N grid and never visiting an edge twice.
Input: N = 2
Output: 2
Input: N = 3
Output: 5
Approach: It can be observed that for the values of N = 1, 2, 3, …, a series will be formed as 1, 2, 5, 10, 17, 26, 37, 50, … whose Nth term is (N2 – (2 * N) + 2)
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 // squares that can be formed int countSquares( int n)
{ return ( pow (n, 2) - (2 * n) + 2);
} // Driver code int main()
{ int n = 2;
cout << countSquares(n);
return 0;
} |
Java
// Java implementation of the approach class GFG
{ // Function to return the count of // squares that can be formed static int countSquares( int n)
{ return ( int ) (Math.pow(n, 2 ) - ( 2 * n) + 2 );
} // Driver code public static void main(String []args)
{ int n = 2 ;
System.out.println(countSquares(n));
} } // This code is contributed by Rajput-Ji |
Python3
# Python3 implementation of the approach # Function to return the count of # squares that can be formed def countSquares(n) :
return ( pow (n, 2 ) - ( 2 * n) + 2 );
# Driver code if __name__ = = "__main__" :
n = 2 ;
print (countSquares(n));
# This code is contributed by AnkitRai01 |
C#
// C# implementation of the approach using System;
class GFG
{ // Function to return the count of
// squares that can be formed
static int countSquares( int n)
{
return ( int ) (Math.Pow(n, 2) - (2 * n) + 2);
}
// Driver code
public static void Main(String []args)
{
int n = 2;
Console.WriteLine(countSquares(n));
}
} // This code is contributed by 29AjayKumar |
Javascript
<script> // Javascript implementation of the approach // Function to return the count of // squares that can be formed function countSquares(n)
{ return (Math.pow(n, 2) - (2 * n) + 2);
} // Driver code var n = 2;
document.write(countSquares(n)); </script> |
Output:
2
Time Complexity: O(1)
Auxiliary Space: O(1)
Article Tags :
Recommended Articles