# Count of squares that can be drawn without lifting the pencil

• Last Updated : 07 Mar, 2022

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: Input: N = 3
Output:

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

 ``

Output:

`2`

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Recommended Articles
Page :