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:
Generating Random Numbers in a Range in Java
Hướng dẫn sử dụng Lớp FilePermission trong java
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
Count Occurrences of a Char in a String
Kiểu dữ liệu Ngày Giờ (Date Time) trong java
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to Implement Best-First Search
The “final” Keyword in Java
Java Program to Implement LinkedList API
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
The XOR Operator in Java
Java Program to Generate Random Partition out of a Given Set of Numbers or Characters
Deque và ArrayDeque trong Java
Java Program to Implement Sparse Matrix
Guide to @JsonFormat in Jackson
Java Program to Implement Sieve Of Sundaram
An Introduction to Java.util.Hashtable Class
A Guide to the ViewResolver in Spring MVC
So sánh HashMap và Hashtable trong Java
Tính đa hình (Polymorphism) trong Java
Integer Constant Pool trong Java
Java Program to Implement Sorted Vector
Running Spring Boot Applications With Minikube
Java – Reader to String
An Intro to Spring Cloud Security
Overflow and Underflow in Java
Spring Boot - Securing Web Applications
Java Program to Check Cycle in a Graph using Graph traversal
Spring Boot - Flyway Database
Hướng dẫn Java Design Pattern – Dependency Injection
Java Program to Create a Random Linear Extension for a DAG
Java Program to Implement Hash Tree