rendered paste bodymy $n=15;
my @l = p($n,$n);
foreach my $t (@l) {
print "@$t\n";
}
print scalar(@l)," partitions.\n";
sub p($$) {
my ($n,$k) = @_;
return () if ($n<0);
return ([]) if ($n==0);
return () if ($k==0);
return (p($n,$k-1),f($k,p($n-$k,$k)));
}
sub f($@) {
my $k=shift;
return map { [@$_,$k] } @_;
}
----------------------------------------
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 1 1 1 1 2 2
1 1 1 1 1 1 1 1 1 2 2 2
1 1 1 1 1 1 1 2 2 2 2
1 1 1 1 1 2 2 2 2 2
1 1 1 2 2 2 2 2 2
1 2 2 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1 1 1 3
1 1 1 1 1 1 1 1 1 1 2 3
1 1 1 1 1 1 1 1 2 2 3
1 1 1 1 1 1 2 2 2 3
1 1 1 1 2 2 2 2 3
1 1 2 2 2 2 2 3
2 2 2 2 2 2 3
1 1 1 1 1 1 1 1 1 3 3
1 1 1 1 1 1 1 2 3 3
1 1 1 1 1 2 2 3 3
1 1 1 2 2 2 3 3
1 2 2 2 2 3 3
1 1 1 1 1 1 3 3 3
1 1 1 1 2 3 3 3
1 1 2 2 3 3 3
2 2 2 3 3 3
1 1 1 3 3 3 3
1 2 3 3 3 3
3 3 3 3 3
1 1 1 1 1 1 1 1 1 1 1 4
1 1 1 1 1 1 1 1 1 2 4
1 1 1 1 1 1 1 2 2 4
1 1 1 1 1 2 2 2 4
1 1 1 2 2 2 2 4
1 2 2 2 2 2 4
1 1 1 1 1 1 1 1 3 4
1 1 1 1 1 1 2 3 4
1 1 1 1 2 2 3 4
1 1 2 2 2 3 4
2 2 2 2 3 4
1 1 1 1 1 3 3 4
1 1 1 2 3 3 4
1 2 2 3 3 4
1 1 3 3 3 4
2 3 3 3 4
1 1 1 1 1 1 1 4 4
1 1 1 1 1 2 4 4
1 1 1 2 2 4 4
1 2 2 2 4 4
1 1 1 1 3 4 4
1 1 2 3 4 4
2 2 3 4 4
1 3 3 4 4
1 1 1 4 4 4
1 2 4 4 4
3 4 4 4
1 1 1 1 1 1 1 1 1 1 5
1 1 1 1 1 1 1 1 2 5
1 1 1 1 1 1 2 2 5
1 1 1 1 2 2 2 5
1 1 2 2 2 2 5
2 2 2 2 2 5
1 1 1 1 1 1 1 3 5
1 1 1 1 1 2 3 5
1 1 1 2 2 3 5
1 2 2 2 3 5
1 1 1 1 3 3 5
1 1 2 3 3 5
2 2 3 3 5
1 3 3 3 5
1 1 1 1 1 1 4 5
1 1 1 1 2 4 5
1 1 2 2 4 5
2 2 2 4 5
1 1 1 3 4 5
1 2 3 4 5
3 3 4 5
1 1 4 4 5
2 4 4 5
1 1 1 1 1 5 5
1 1 1 2 5 5
1 2 2 5 5
1 1 3 5 5
2 3 5 5
1 4 5 5
5 5 5
1 1 1 1 1 1 1 1 1 6
1 1 1 1 1 1 1 2 6
1 1 1 1 1 2 2 6
1 1 1 2 2 2 6
1 2 2 2 2 6
1 1 1 1 1 1 3 6
1 1 1 1 2 3 6
1 1 2 2 3 6
2 2 2 3 6
1 1 1 3 3 6
1 2 3 3 6
3 3 3 6
1 1 1 1 1 4 6
1 1 1 2 4 6
1 2 2 4 6
1 1 3 4 6
2 3 4 6
1 4 4 6
1 1 1 1 5 6
1 1 2 5 6
2 2 5 6
1 3 5 6
4 5 6
1 1 1 6 6
1 2 6 6
3 6 6
1 1 1 1 1 1 1 1 7
1 1 1 1 1 1 2 7
1 1 1 1 2 2 7
1 1 2 2 2 7
2 2 2 2 7
1 1 1 1 1 3 7
1 1 1 2 3 7
1 2 2 3 7
1 1 3 3 7
2 3 3 7
1 1 1 1 4 7
1 1 2 4 7
2 2 4 7
1 3 4 7
4 4 7
1 1 1 5 7
1 2 5 7
3 5 7
1 1 6 7
2 6 7
1 7 7
1 1 1 1 1 1 1 8
1 1 1 1 1 2 8
1 1 1 2 2 8
1 2 2 2 8
1 1 1 1 3 8
1 1 2 3 8
2 2 3 8
1 3 3 8
1 1 1 4 8
1 2 4 8
3 4 8
1 1 5 8
2 5 8
1 6 8
7 8
1 1 1 1 1 1 9
1 1 1 1 2 9
1 1 2 2 9
2 2 2 9
1 1 1 3 9
1 2 3 9
3 3 9
1 1 4 9
2 4 9
1 5 9
6 9
1 1 1 1 1 10
1 1 1 2 10
1 2 2 10
1 1 3 10
2 3 10
1 4 10
5 10
1 1 1 1 11
1 1 2 11
2 2 11
1 3 11
4 11
1 1 1 12
1 2 12
3 12
1 1 13
2 13
1 14
15
176 partitions.