/* 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. */ //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= 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(); } } /* Enter the number: 4 4 3 1 2 2 2 1 1 1 1 1 1