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:
Java Program to Implement Knapsack Algorithm
Spring Boot - Logging
Intro to Inversion of Control and Dependency Injection with Spring
Introduction to the Java ArrayDeque
Java Program to implement Associate Array
Spring Boot - CORS Support
MyBatis with Spring
Tạo chương trình Java đầu tiên sử dụng Eclipse
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Spring Data JPA Delete and Relationships
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Java Program to Implement Find all Forward Edges in a Graph
Guide to CountDownLatch in Java
Java Program to Implement Range Tree
Java Program to Use rand and srand Functions
Spring Cloud Series – The Gateway Pattern
Validate email address exists or not by Java Code
Java IO vs NIO
Deploy a Spring Boot App to Azure
Implementing a Runnable vs Extending a Thread
Java Program to Decode a Message Encoded Using Playfair Cipher
Java Program to implement Bit Set
Java String to InputStream
Java Program to Implement Self Balancing Binary Search Tree
Java Program to Implement Hamiltonian Cycle Algorithm
Spring Boot - Apache Kafka
Simple Single Sign-On with Spring Security OAuth2
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Redirect to Different Pages after Login with Spring Security
Java CyclicBarrier vs CountDownLatch
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux