Java Program to Find Minimum Perimeter of n Blocks

bookmark

public class Main

    // Driver code 
    public static void main(String[] args)  
    { 
        int block = 4;
        //Calling minPerimeter() method
        System.out.println("Minimum Perimeter Possible : "+minPerimeter(block)); 
    } 
    
    
    //minPerimeter() method
    public static long minPerimeter(int data) 
    { 
        int l = (int) Math.sqrt(data); 
        int sq = l * l; 
      
        // if data is a perfect square 
        if (sq == data)  
            return l * 4; 
        else
        { 
            // Number of rows  
            long row = data / l;  
      
            // perimeter of the  
            // rectangular grid  
            long perimeter  
                  = 2 * (l + row);  
      
            // if there are blocks left  
            if (data % l != 0)  
                perimeter += 2; 
            return perimeter; 
        } 
    } 
}

 


Output:

Minimum Perimeter Possible : 8