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:
The Thread.join() Method in Java
Spring MVC Content Negotiation
New Features in Java 15
Java Program to Check if a Matrix is Invertible
Optional trong Java 8
Using Java Assertions
Logging a Reactive Sequence
Java Program to Apply DFS to Perform the Topological Sorting of a Directed Acyclic Graph
Converting String to Stream of chars
Java – Get Random Item/Element From a List
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Guide to the Synchronized Keyword in Java
MyBatis with Spring
Converting String to Stream of chars
Java Program to Implement Euler Circuit Problem
Add Multiple Items to an Java ArrayList
Setting Up Swagger 2 with a Spring REST API
REST Web service: Basic Authentication trong Jersey 2.x
Java Program to Find a Good Feedback Vertex Set
Java Program to Perform Naive String Matching
Java Program to Implement the Program Used in grep/egrep/fgrep
Sort a HashMap in Java
Java – Combine Multiple Collections
Introduction to Spring Data JPA
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Exploring the Spring Boot TestRestTemplate
Giới thiệu thư viện Apache Commons Chain
Number Formatting in Java
Spring Cloud AWS – Messaging Support
Java Program to Implement Euclid GCD Algorithm
Java Program to Implement the One Time Pad Algorithm