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 Quick Hull Algorithm to Find Convex Hull
Receive email using IMAP
Java Program to Find Inverse of a Matrix
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Hướng dẫn Java Design Pattern – MVC
@Lookup Annotation in Spring
Spring Data JPA Delete and Relationships
Hướng dẫn Java Design Pattern – State
Hướng dẫn Java Design Pattern – Service Locator
Java 8 Predicate Chain
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Read an Outlook MSG file
Java Program to Implement Sorted Vector
Spring Boot - Servlet Filter
Java Program to Implement Quick Sort with Given Complexity Constraint
Hướng dẫn sử dụng Lớp FilePermission trong java
Giới thiệu Google Guice – Injection, Scope
Handle EML file with JavaMail
Registration – Activate a New Account by Email
Spring Boot - CORS Support
Spring Boot - Tracing Micro Service Logs
Spring REST with a Zuul Proxy
Java Program to Implement ArrayList API
REST Pagination in Spring
Java Program to Implement Miller Rabin Primality Test Algorithm
Deploy a Spring Boot App to Azure
A Guide to TreeMap in Java
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java Program to Implement Stack using Linked List
Java – Create a File
Hướng dẫn Java Design Pattern – Intercepting Filter