Count squares of size K inscribed in a square of size N
Last Updated :
16 Apr, 2021
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++
#include <iostream>
using namespace std;
int No_of_squares( int N, int K)
{
int no_of_squares = 0;
no_of_squares
= (N - K + 1) * (N - K + 1);
return no_of_squares;
}
int main()
{
int N = 5;
int K = 3;
cout << No_of_squares(N, K);
return 0;
}
|
Java
import java.util.*;
class GFG{
static int No_of_squares( int N,
int K)
{
int no_of_squares = 0 ;
no_of_squares = (N - K + 1 ) *
(N - K + 1 );
return no_of_squares;
}
public static void main(String[] args)
{
int N = 5 ;
int K = 3 ;
System.out.print(No_of_squares(N, K));
}
}
|
Python3
def No_of_squares(N, K):
no_of_squares = 0 ;
no_of_squares = (N - K + 1 ) * (N - K + 1 );
return no_of_squares;
if __name__ = = '__main__' :
N = 5 ;
K = 3 ;
print (No_of_squares(N, K));
|
C#
using System;
class GFG{
static int No_of_squares( int N, int K)
{
int no_of_squares = 0;
no_of_squares = (N - K + 1) *
(N - K + 1);
return no_of_squares;
}
public static void Main(String[] args)
{
int N = 5;
int K = 3;
Console.Write(No_of_squares(N, K));
}
}
|
Javascript
<script>
function No_of_squares(N, K)
{
let no_of_squares = 0;
no_of_squares = (N - K + 1) *
(N - K + 1);
return no_of_squares;
}
let N = 5;
let K = 3;
document.write(No_of_squares(N, K));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...