Sunday, November 17, 2024
Google search engine
HomeData Modelling & AISum of Area of all possible square inside a rectangle

Sum of Area of all possible square inside a rectangle

Given two integers L and B denoting the length and breadth of a rectangle respectively. The task is to calculate the sum of the area of all possible squares that comes into the rectangle.

Examples

Input: L = 4, B = 3
Output: 54

Input:  L = 2, B = 5
Output: 26

The idea is to observe the count of number of squares in a rectangle.  

Now, the number of squares of side 1 will be 12 as there will be two cases one as squares of 1-unit sides along the horizontal(3) and second case as squares of 1-unit sides along the vertical(4). That gives us 3*4 = 12 squares.

When the side is 2 units, one case will be as squares of side of 2 units along only one place horizontally and second case as two places vertically. So the number of squares = 6
So we can deduce that, 
Number of squares of size 1*1 will be L*B
Number of squares of size 2*2 will be (L-1)(B-1)
Therefore, the number of squares with size K      will be: 

Number of square of size K = (L-K+1)*(B-K+1) 

Therefore, area of total number of squares of size K will be: 

Area of total number of square of size K = (L-K+1)*(B-K+1)*K*K 

Below is the implementation of above idea:

C++




// CPP program to calculate the sum of area
// of all possible squares that comes
// inside the rectangle
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate the sum of area
// of all possible squares that comes
// inside the rectangle
int calculateAreaSum(int l, int b)
{
    int size = 1;
     
    // Square with max size possible
    int maxSize = min(l,b);
     
    int totalArea = 0;
     
    for(int i=1; i <= maxSize; i++)
    {  
        // calculate total square of a given size
        int totalSquares = (l-size+1)*(b-size+1);
         
        // calculate area of squares of a
        // particular size   
        int area = totalSquares*size*size;
         
        // total area   
        totalArea += area;
          
        // increment size   
        size++;
    }
     
    return totalArea;
}
 
// Driver Code
int main()
{
    int l = 4, b = 3;
     
    cout<<calculateAreaSum(l,b);
     
    return 0;
}


Java




// Java program to calculate the
// sum of area of all possible
// squares that comes inside
// the rectangle
class GFG
{
// Function to calculate the
// sum of area of all possible
// squares that comes inside
// the rectangle
static int calculateAreaSum(int l, int b)
{
    int size = 1;
 
    // Square with max size possible
    int maxSize = Math.min(l, b);
 
    int totalArea = 0;
 
    for(int i = 1; i <= maxSize; i++)
    {
        // calculate total square
        // of a given size
        int totalSquares = (l - size + 1) *
                           (b - size + 1);
     
        // calculate area of squares
        // of a particular size
        int area = totalSquares *  
                    size * size;
     
        // total area
        totalArea += area;
         
        // increment size
        size++;
    }
 
    return totalArea;
}
 
// Driver Code
public static void main(String[] args)
{
    int l = 4, b = 3;
     
    System.out.println(calculateAreaSum(l, b));
}
}
 
// This code is contributed
// by ChitraNayal


Python 3




# Python 3 program to calculate
# the sum of area of all possible
# squares that comes inside
# the rectangle
 
# Function to calculate the
# sum of area of all possible
# squares that comes inside
# the rectangle
def calculateAreaSum(l, b):
    size = 1
     
    # Square with max size possible
    maxSize = min(l, b)
     
    totalArea = 0
     
    for i in range(1, maxSize + 1 ):
 
        # calculate total square
        # of a given size
        totalSquares = ((l - size + 1) *
                        (b - size + 1))
         
        # calculate area of squares
        # of a particular size
        area = (totalSquares *
                size * size)
         
        # total area
        totalArea += area
         
        # increment size
        size += 1
         
    return totalArea
 
# Driver Code
if __name__ == "__main__":
    l = 4
    b = 3
     
    print(calculateAreaSum(l,b))
 
# This code is contributed
# by ChitraNayal


C#




// C# program to calculate the
// sum of area of all possible
// squares that comes inside
// the rectangle
using System;
 
class GFG
{
// Function to calculate the
// sum of area of all possible
// squares that comes inside
// the rectangle
static int calculateAreaSum(int l,
                            int b)
{
    int size = 1;
 
    // Square with max size possible
    int maxSize = Math.Min(l, b);
 
    int totalArea = 0;
 
    for(int i = 1; i <= maxSize; i++)
    {
        // calculate total square
        // of a given size
        int totalSquares = (l - size + 1) *
                           (b - size + 1);
     
        // calculate area of squares
        // of a particular size
        int area = totalSquares *
                   size * size;
     
        // total area
        totalArea += area;
         
        // increment size
        size++;
    }
    return totalArea;
}
 
// Driver Code
public static void Main()
{
    int l = 4, b = 3;
     
    Console.Write(calculateAreaSum(l,b));
}
}
 
// This code is contributed
// by ChitraNayal


PHP




<?php
// PHP program to calculate the
// sum of area of all possible
// squares that comes inside
// the rectangle
 
// Function to calculate the
// sum of area of all possible
// squares that comes inside
// the rectangle
function calculateAreaSum($l, $b)
{
    $size = 1;
     
    // Square with max size possible
    $maxSize = min($l, $b);
     
    $totalArea = 0;
     
    for($i = 1; $i <= $maxSize; $i++)
    {
        // calculate total square
        // of a given size
        $totalSquares = ($l - $size + 1) *
                        ($b - $size + 1);
         
        // calculate area of squares
        // of a particular size
        $area = $totalSquares *
                 $size * $size;
         
        // total area
        $totalArea += $area;
         
        // increment size
        $size++;
    }
     
    return $totalArea;
}
 
// Driver Code
$l = 4;
$b = 3;
     
echo calculateAreaSum($l,$b);
     
// This code is contributed
// by ChitraNayal
?>


Javascript




<script>
 
// Javascript program to calculate the sum of area
// of all possible squares that comes
// inside the rectangle
 
// Function to calculate the sum of area
// of all possible squares that comes
// inside the rectangle
function calculateAreaSum(l, b)
{
    var size = 1;
     
    // Square with max size possible
    var maxSize = Math.min(l,b);
     
    var totalArea = 0;
     
    for(var i=1; i <= maxSize; i++)
    {
        // calculate total square of a given size
        var totalSquares = (l-size+1)*(b-size+1);
         
        // calculate area of squares of a
        // particular size   
        var area = totalSquares*size*size;
         
        // total area   
        totalArea += area;
         
        // increment size   
        size++;
    }
     
    return totalArea;
}
 
// Driver Code
var l = 4, b = 3;
document.write( calculateAreaSum(l,b));
 
// This code is contributed by noob2000.
</script>


Output

54

Complexity Analysis:

  • Time complexity: O(min(l,b))
  • Auxiliary complexity: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments