View difference between Paste ID: UYPYvWBx and A47AJsft
SHOW: | | - or go back to the newest paste.
1-
function explode(n) {
1+
function explode(n, limit) {
2
   if (n <= 1) return [[n]]
3
   var result = []
4-
   for (var j = n-1; j >= 1; j--) {
4+
   var from = limit != undefined ? Math.min(limit, n-1) : n-1
5-
      var a = explode(n-j)
5+
   for (var j = from; j >= 1; j--) {
6
      var a = explode(n-j, j)
7
      for (var i = 0; i < a.length; i++) {
8
         result.push([j].concat(a[i]))
9
      }
10
   }
11
   return result
12
}