взял функцию
Sweet
перебор всех возможных значений
если ничего не напутал, то без скобок всего 15 вариантов
function combinator(matrix){
return matrix.reduceRight(function(combination, x){
var result = [];
x.forEach(function(a){
combination.forEach(function(b){
result.push( [ a ].concat( b ) );
});
});
return result;
});
};
var ops = ["+", "-", "*", "/"],
digits = "123456789".split(""),
mas = [],
resultArray = [];
//mas = combinator([ [1],ops,[2],ops,[3],ops,[4],ops,[5],ops,[6],ops,[7],ops,[8],ops,[9] ]);
digits.forEach(function (value) {
mas.push([value]);
mas.push(ops);
});
mas.splice(-1);
mas = combinator(mas);
mas = mas.map(function (value) {
return value.join("");
});
mas.forEach(function (value) {
if ( eval(value) == 100 ) {
resultArray.push(value);
};
});
console.log(resultArray.join("\n"));
1+2+3+4+5+6+7+8*9
1+2+3-4*5+6*7+8*9
1+2-3*4+5*6+7+8*9
1+2-3*4-5+6*7+8*9
1+2*3+4*5-6+7+8*9
1+2*3*4*5/6+7+8*9
1-2+3*4*5+6*7+8-9
1-2+3*4*5-6+7*8-9
1-2*3+4*5+6+7+8*9
1-2*3-4+5*6+7+8*9
1-2*3-4-5+6*7+8*9
1*2*3+4+5+6+7+8*9
1*2*3-4*5+6*7+8*9
1*2*3*4+5+6+7*8+9
1*2*3*4+5+6-7+8*9