This is a java program to perform partition of an integer in all possible ways. Every partition when added should result in the given integer.
Here is the source code of the Java Program to Perform Partition of an Integer in All Possible Ways. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is sample program to print a unique partitions of a given number
import java.util.Scanner;
public class Unique_Partitions_Number
{
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+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("Unique Partitioning of a given number");
System.out.println("Enter the number:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
generateUniquePartition(n);
sc.close();
}
}
Output:
$ javac Unique_Partitions_Number.java $ java Unique_Partitions_Number Unique Partitioning of a given number Enter the number: 4 4 3 1 2 2 2 1 1 1 1 1 1
Related posts:
Java Program to Implement Pairing Heap
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Daemon Threads in Java
Tính đóng gói (Encapsulation) trong java
Test a REST API with Java
Spring Cloud AWS – S3
Introduction to Spring Boot CLI
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Java Program to Perform Inorder Recursive Traversal of a Given Binary Tree
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Java Program to Implement Affine Cipher
Java Program to Implement Hash Tables with Double Hashing
Notify User of Login From New Device or Location
Sử dụng CountDownLatch trong Java
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Using Spring @ResponseStatus to Set HTTP Status Code
Java Program to Describe the Representation of Graph using Incidence List
Java 8 Collectors toMap
Spring Security OAuth Login with WebFlux
Jackson Date
Comparing Two HashMaps in Java
Introduction to Spring Method Security
Object Type Casting in Java
Spring Boot - Sending Email
Java Program to find the peak element of an array using Binary Search approach
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Convert Hex to ASCII in Java
Java Program to implement Sparse Vector
Guide to Spring @Autowired
Spring Data Java 8 Support