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:
The Java 8 Stream API Tutorial
How to use the Spring FactoryBean?
Error Handling for REST with Spring
Java Program to implement Circular Buffer
Spring Boot Change Context Path
Changing Annotation Parameters At Runtime
Jackson Unmarshalling JSON with Unknown Properties
Mệnh đề if-else trong java
Converting String to Stream of chars
Java Program to find the number of occurrences of a given number using Binary Search approach
Guide to @ConfigurationProperties in Spring Boot
Updating your Password
New Features in Java 11
Java Program to Implement Skip List
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
The Thread.join() Method in Java
Java Web Services – JAX-WS – SOAP
Java Program to Implement LinkedBlockingDeque API
Java Program to Find the Minimum value of Binary Search Tree
Đồng bộ hóa các luồng trong Java
Spring Boot - Batch Service
Convert String to int or Integer in Java
Reading an HTTP Response Body as a String in Java
So sánh HashMap và Hashtable trong Java
Check if there is mail waiting
Java Program to Represent Linear Equations in Matrix Form
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Guide to Spring Cloud Kubernetes
Spring Boot - Cloud Configuration Server
Java Program to Implement Knight’s Tour Problem
Check If Two Lists are Equal in Java