Java Program to Perform Partition of an Integer in All Possible Ways

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:

Spring Data Reactive Repositories with MongoDB
Send email with authentication
Java Program to Perform Searching Based on Locality of Reference
Java Program to Implement Floyd-Warshall Algorithm
Create Java Applet to Simulate Any Sorting Technique
Spring Boot - Admin Client
Simple Single Sign-On with Spring Security OAuth2
Hướng dẫn Java Design Pattern – Visitor
Spring Boot - Actuator
Spring Boot - File Handling
Java Program to Perform Searching Using Self-Organizing Lists
A Guide to JPA with Spring
Feign – Tạo ứng dụng Java RESTful Client
Spring Boot - Cloud Configuration Server
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Perform to a 2D FFT Inplace Given a Complex 2D Array
How to Return 404 with Spring WebFlux
Tính kế thừa (Inheritance) trong java
Spring Security OAuth2 – Simple Token Revocation
Java Program to Find Number of Articulation points in a Graph
Instance Profile Credentials using Spring Cloud
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Java Program to Implement Min Heap
Introduction to Spring Security Expressions
Java Program to Check the Connectivity of Graph Using DFS
Java Program to Compute Determinant of a Matrix
4 tính chất của lập trình hướng đối tượng trong Java
Setting a Request Timeout for a Spring REST API
Comparing Objects in Java
Redirect to Different Pages after Login with Spring Security
Hướng dẫn Java Design Pattern – Abstract Factory
Java Program to Compute the Volume of a Tetrahedron Using Determinants