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:
Functional Interfaces in Java 8
Simple Single Sign-On with Spring Security OAuth2
Java Program to Perform Searching in a 2-Dimension K-D Tree
Jackson – Change Name of Field
Java Program to implement Bit Set
Converting Iterator to List
Java Program to Implement Borwein Algorithm
Introduction to Thread Pools in Java
Hướng dẫn Java Design Pattern – Adapter
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Lập trình đa luồng với Callable và Future trong Java
Versioning a REST API
Consuming RESTful Web Services
New Stream Collectors in Java 9
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Intro to Spring Boot Starters
Spring Boot - Building RESTful Web Services
Java Program to Generate a Sequence of N Characters for a Given Specific Case
Java Program to Implement Strassen Algorithm
Java Program to Implement LinkedBlockingQueue API
Simplify the DAO with Spring and Java Generics
Java Program to Implement IdentityHashMap API
Java Program to Implement Warshall Algorithm
Java Program to add two large numbers using Linked List
HttpClient Connection Management
Spring 5 Functional Bean Registration
Introduction to Apache Commons Text
Dockerizing a Spring Boot Application
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Guide to WeakHashMap in Java
CyclicBarrier in Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?