mramine364

IntegerPartitions

Jun 4th, 2016
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function print_partitions(n) {
  3.     var t = partitions(n,n);
  4.     var i;
  5.     for(i=0;i<t.length;i++){
  6.         console.log(i+1,t[i]);
  7.     }
  8. }
  9.  
  10. function partitions(n,m){
  11.     if( n<m ) m = n;
  12.     if( n==1 ) return [[1]];   
  13.     if( n==0 ) return [];
  14.     var i,j,res= [];
  15.     for(i=1;i<=m;i++){
  16.         var stab = partitions(n-i,i);
  17.         if( stab.length==0 )
  18.             res.push( [i] );
  19.         else
  20.             for(j=0;j<stab.length;j++)
  21.                 res.push( [i].concat(stab[j]) );           
  22.     }  
  23.     return tab;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment