the code (i'm terribly sorry about the names of the variables. and there are few bugs that you'll be able to see as you run it):
#!/usr/bin/perl -w print 'enter n : '; $kk = $n = $nn = readline(*STDIN); my @ready = @aa = (); while ($n) {$aa[$n] = 1;$n--;} @bb = @aa; while ($kk) { $aa[$nn - $kk + 1] += $aa[$nn - $kk]; $aa[$nn - $kk]=''; $ready[($nn - $kk)*3] = "@aa\n"; $aa[$kk - 1] += $aa[$kk]; $aa[$kk]=''; $ready[($nn - $kk)*3 + 1] = "@aa\n"; $aa[$nn - $kk + 1] += $aa[$nn - $kk]; $aa[$nn - $kk]=''; $ready[($nn - $kk)*3 + 2] = "@bb\n"; $bb[$kk - 1] += $bb[$kk]; $bb[$kk]=''; $kk--;} print @ready;
In reply to Generator of integer partitionts of n by chiburashka
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |