Java Program to Find Minimum Perimeter of n Blocks
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
