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:
Mapping Nested Values with Jackson
How to Store Duplicate Keys in a Map in Java?
DynamoDB in a Spring Boot Application Using Spring Data
Request Method Not Supported (405) in Spring
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Convert a Map to an Array, List or Set in Java
Spring Webflux with Kotlin
Spring WebFlux Filters
Spring Boot - Tomcat Port Number
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Java Program to Implement RenderingHints API
Introduction to the Functional Web Framework in Spring 5
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Using the Map.Entry Java Class
A Guide to @RepeatedTest in Junit 5
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
List Interface trong Java
Java Timer
Java Program to Implement TreeSet API
Spring Boot Application as a Service
Java Program to Perform Partition of an Integer in All Possible Ways
Java Program to Find Number of Articulation points in a Graph
Lớp HashMap trong Java
Returning Custom Status Codes from Spring Controllers
Model, ModelMap, and ModelAndView in Spring MVC
Count Occurrences of a Char in a String
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Netflix Archaius with Various Database Configurations
Basic Authentication with the RestTemplate
Jackson – Change Name of Field
4 tính chất của lập trình hướng đối tượng trong Java