This is a java program to generate and print all the partitions of a number such that when those partition elements are added results in the number itself, plus the partition should be unique. We start with the number, number minus one is the next partition and so on, till all one’s are the last partition where we stop.
Here is the source code of the Java Program to Perform integer Partition for a Specific Case. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to perform integer partition such that every partition is unique
import java.util.Scanner;
public class Integer_Partition
{
public static void print(int[]p, int n)
{
for(int i=0; i<n; i++)
System.out.print(p[i]+" ");
System.out.println();
}
public static void generateUniquePartition(int n)
{
int []p = new int[n];
int k = 0;
p[k] = n;
while(true)
{
print(p, k+1);
int rem_value = 0;
while(k >= 0 && p[k] == 1)
{
rem_value += p[k];
k--;
}
if(k < 0)
return;
p[k]--;
rem_value++;
while(rem_value > p[k])
{
p[k+1] = p[k];
rem_value -= p[k];
k++;
}
p[k+1] = rem_value;
k++;
}
}
public static void main(String args[])
{
System.out.println("Partitioning of a given Integer such that every partition is unique");
System.out.println("Enter the number:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
generateUniquePartition(n);
sc.close();
}
}
Output:
$ javac Integer_Partition.java $ java Integer_Partition Partitioning of a given Integer such that every partition is unique Enter the number: 6 6 5 1 4 2 4 1 1 3 3 3 2 1 3 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1
Related posts:
A Quick JUnit vs TestNG Comparison
Converting a Stack Trace to a String in Java
Java Program to Generate Date Between Given Range
Java Program to subtract two large numbers using Linked Lists
Daemon Threads in Java
Java Program to Search for an Element in a Binary Search Tree
Spring Security – Reset Your Password
Java String to InputStream
The Guide to RestTemplate
Hướng dẫn Java Design Pattern – Memento
Composition, Aggregation, and Association in Java
Java Program to Implement Kosaraju Algorithm
Java Program to Implement Bit Array
Java Program to Implement SimpeBindings API
The Registration API becomes RESTful
Java – Reader to InputStream
Mệnh đề if-else trong java
New Features in Java 14
The Difference Between map() and flatMap()
Java Program to Implement Rope
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Java – Write an InputStream to a File
A Guide to the Java ExecutorService
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
How to Read HTTP Headers in Spring REST Controllers
Registration – Password Strength and Rules
Java Copy Constructor
Java Program to Implement Find all Forward Edges in a Graph
Logging a Reactive Sequence
Java Program to Implement Hash Tables with Double Hashing
Handle EML file with JavaMail
Java Program to Implement Splay Tree