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 | } |