Advertisement
Robinlemon

Permutate

Jul 26th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Permutate(Combos, Target) {
  2.     var Result = [];
  3.  
  4.     if(typeof Target !== "number") Target = Number(Target.toString());
  5.  
  6.     function SubPerm(i, t) {
  7.         var s = t.reduce(function(a, b){
  8.             return a + b;
  9.         }, 0);
  10.  
  11.         if (Target === s) return Result.push(t);
  12.         if (s > Target || i === Combos.length) return;
  13.  
  14.         SubPerm(i, t.concat([Combos[i]]));
  15.         SubPerm(i + 1, t);
  16.     }
  17.  
  18.     SubPerm(0, []);
  19.  
  20.     return Result;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement