This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
/*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.*/
//This is a java program to perform integer partition such that every partition is unique
importjava.util.Scanner;
publicclassInteger_Partition
{
publicstaticvoidprint(int[]p,intn)
{
for(inti=0;i<n;i++)
System.out.print(p[i]+" ");
System.out.println();
}
publicstaticvoidgenerateUniquePartition(intn)
{
int[]p=newint[n];
intk=0;
p[k]=n;
while(true)
{
print(p,k+1);
intrem_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++;
}
}
publicstaticvoidmain(Stringargs[])
{
System.out.println("Partitioning of a given Integer such that every partition is unique");