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 Shoelace Algorithm
Spring Security Remember Me
Versioning a REST API
How to Get All Dates Between Two Dates?
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
Java Program to Implement Cartesian Tree
Java 8 and Infinite Streams
LinkedHashSet trong java
How to Return 404 with Spring WebFlux
Java Program to Implement Flood Fill Algorithm
Java Program to Check Cycle in a Graph using Topological Sort
Debug a JavaMail Program
Java Program to Implement Depth-limited Search
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Java Program to Implement Sorted Circularly Singly Linked List
Hướng dẫn Java Design Pattern – Iterator
Spring Data JPA Delete and Relationships
Java Program to Represent Graph Using Adjacency Matrix
Intro to Inversion of Control and Dependency Injection with Spring
Java Program to Generate All Possible Combinations of a Given List of Numbers
Giới thiệu Google Guice – Injection, Scope
Java – Byte Array to Reader
Summing Numbers with Java Streams
Cachable Static Assets with Spring MVC
Java Program for Topological Sorting in Graphs
Java Program to Apply DFS to Perform the Topological Sorting of a Directed Acyclic Graph
Number Formatting in Java
Java Program to implement Circular Buffer
Java Program to Create a Random Linear Extension for a DAG
Mapping Nested Values with Jackson
Java Program to Represent Graph Using 2D Arrays
Custom Error Pages with Spring MVC