- // Recursive version
- function isMeasurable(target, weights)
- {
- if (weights.length == 0)
- return target == 0;
- var first = weights.shift();
- return
- isMeasurable(target-first, weights) ||
- isMeasurable(target+first, weights) ||
- isMeasurable(target, weights);
- }