In the previous article, we have seen Java Program to Check Whether a Given Point Lies Inside a Rectangle or Not
In this article we will discuss about Java Program to Find minimum possible Perimeter of n Blocks.
Java Program to Find Minimum Perimeter of n Blocks
Before jumping into the program directly, let’s see how we can find possible minimum perimeter with ‘n’ blocks.
Explanation:
Given 'n' blocks of size 1*1. When number of blocks is a perfect square then perimeter = 4*sqrt(n) When number of blocks is not a perfect square then perimeter = Calculate number of rows and column closest to nearest square root and 2 as 2 extra side will be left after arranging box in rectangular.
Example:
When n = 4 Minimum possible perimeter = 8 When n = 15 Minimum possible perimeter = 16
Let’s see different ways minimum possible perimeter of n blocks.
Method-1: Java Program to Find Minimum Perimeter of n Blocks By Using Static Value
Approach:
- Declare number of block.
- Then call the
minPerimeter()method to calculate minimum possible perimeter. - Inside the method based on the formula minimum possible perimeter is calculated.
- Then print the result.
Program:
// JAVA Code to find minimum
// perimeter using 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
Method-2: Java Program to Find Minimum Perimeter of n Blocks By User Input Value
Approach:
- Take user input of number of block.
- Then call the
minPerimeter()method to calculate minimum possible perimeter. - Inside the method based on the formula minimum possible perimeter is calculated.
- Then print the result.
Program:
// JAVA Code to find minimum
// perimeter using n blocks
import java.util.*;
public class Main
{
// Driver code
public static void main(String[] args)
{
//Scanner class object created
Scanner sc=new Scanner(System.in);
//Taking user input of number of blocks
System.out.println("Enter number of Blocks : ");
int block = sc.nextInt();
//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: Enter number of Blocks : 14 Minimum Perimeter Possible : 16
Don’t miss the chance of Java programs examples with output pdf free download as it is very essential for all beginners to experienced programmers for cracking the interviews.
Related Java Programs: