# Count squares of size K inscribed in a square of size N

Given two integers N and K, the task is to find the number of squares of size K that is inscribed in a square of size N.

Examples:

Input: N = 4, K = 2
Output: 9
Explanation:
There are 9 squares of size 2 inscribed in a square of size 4.

Input: N = 5, K = 3
Output: 9
Explanation:
There are 9 squares of size 3 inscribed in a square of size 5.

Approach: The key observation to solve the problem is that the total number of squares in a square of size N is (N * (N + 1)* (2*N + 1)) / 6. Therefore, the total number of squares of size K possible from a square of size N are:

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the` `// above approach`   `#include ` `using` `namespace` `std;`   `// Function to calculate the number` `// of squares of size K in a square` `// of size N` `int` `No_of_squares(``int` `N, ``int` `K)` `{` `    ``// Stores the number of squares` `    ``int` `no_of_squares = 0;`   `    ``no_of_squares` `        ``= (N - K + 1) * (N - K + 1);`   `    ``return` `no_of_squares;` `}`   `// Driver Code` `int` `main()` `{` `    ``// Size of the` `    ``// bigger square` `    ``int` `N = 5;`   `    ``// Size of` `    ``// smaller square` `    ``int` `K = 3;` `    ``cout << No_of_squares(N, K);` `    ``return` `0;` `}`

## Java

 `// Java implementation of the` `// above approach` `import` `java.util.*;` `class` `GFG{`   `// Function to calculate the ` `// number of squares of size ` `// K in a square of size N` `static` `int` `No_of_squares(``int` `N, ` `                         ``int` `K)` `{` `  ``// Stores the number ` `  ``// of squares` `  ``int` `no_of_squares = ``0``;`   `  ``no_of_squares = (N - K + ``1``) * ` `                  ``(N - K + ``1``);`   `  ``return` `no_of_squares;` `}`   `// Driver Code` `public` `static` `void` `main(String[] args)` `{` `  ``// Size of the` `  ``// bigger square` `  ``int` `N = ``5``;`   `  ``// Size of` `  ``// smaller square` `  ``int` `K = ``3``;` `  ``System.out.print(No_of_squares(N, K));` `}` `}`   `// This code is contributed by Princi Singh`

## Python3

 `# Python3 implementation of the` `# above approach`   `# Function to calculate the` `# number of squares of size` `# K in a square of size N` `def` `No_of_squares(N, K):` `  `  `    ``# Stores the number` `    ``# of squares` `    ``no_of_squares ``=` `0``;` `    ``no_of_squares ``=` `(N ``-` `K ``+` `1``) ``*` `(N ``-` `K ``+` `1``);` `    ``return` `no_of_squares;`   `# Driver Code` `if` `__name__ ``=``=` `'__main__'``:` `  `  `    ``# Size of the` `    ``# bigger square` `    ``N ``=` `5``;`   `    ``# Size of` `    ``# smaller square` `    ``K ``=` `3``;` `    ``print``(No_of_squares(N, K));`   `# This code is contributed by 29AjayKumar`

## C#

 `// C# implementation of the` `// above approach` `using` `System;`   `class` `GFG{`   `// Function to calculate the ` `// number of squares of size ` `// K in a square of size N` `static` `int` `No_of_squares(``int` `N, ``int` `K)` `{` `    `  `    ``// Stores the number ` `    ``// of squares` `    ``int` `no_of_squares = 0;` `    `  `    ``no_of_squares = (N - K + 1) * ` `                    ``(N - K + 1);` `    `  `    ``return` `no_of_squares;` `}`   `// Driver Code` `public` `static` `void` `Main(String[] args)` `{` `    `  `    ``// Size of the` `    ``// bigger square` `    ``int` `N = 5;` `    `  `    ``// Size of` `    ``// smaller square` `    ``int` `K = 3;` `    `  `    ``Console.Write(No_of_squares(N, K));` `}` `}`   `// This code is contributed by Amit Katiyar`

Output:

```9

```

Time Complexity: O(1)
Auxiliary Space: O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

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.