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:
Giới thiệu HATEOAS
Custom HTTP Header with the HttpClient
Create Java Applet to Simulate Any Sorting Technique
HttpClient 4 Cookbook
Java Program to implement Bi Directional Map
Jackson JSON Views
A Guide to ConcurrentMap
Java Program to Compute the Area of a Triangle Using Determinants
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Send email with JavaMail
Java Program to Implement Merge Sort Algorithm on Linked List
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Java Program to Perform Cryptography Using Transposition Technique
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Guide to the Java Clock Class
Java Program to Implement Binary Search Tree
Guide to System.gc()
Java 8 Stream findFirst() vs. findAny()
Mapping a Dynamic JSON Object with Jackson
Java Copy Constructor
Comparing Dates in Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range
Merging Streams in Java
Java Program to Construct K-D Tree for 2 Dimensional Data
A Guide to TreeMap in Java
Java Program to Implement Counting Sort
Java Program to Generate Randomized Sequence of Given Range of Numbers
Find the Registered Spring Security Filters
Java CyclicBarrier vs CountDownLatch
Hướng dẫn Java Design Pattern – Service Locator