Функция findRightExpressions находит все возможные арифметические выражения, которые можно составить из цифр от 0 до 9 и операторов +, -, и пустой строки (что означает конкатенацию), которые равны заданному числу targetValue.
Чтобы использовать функцию findRightExpressions, просто вызовите ее с заданным числом targetValue в качестве аргумента:
const targetValue = 200;
const expressions = findRightExpressions(targetValue);
console.log(expressions);Функция findRightExpressions возвращает массив строк, каждая из которых представляет собой одно из возможных арифметических выражений, которое равно числу targetValue.
Для числа targetValue = 200 функция вернет следующий массив:
[
'9-8+7-6-5-4-3+210=200',
'9-8-7-6-5+4+3+210=200',
'98+76-5+43-2-10=200',
'98-7+65+43+2-1+0=200',
'98-7+65+43+2-1-0=200'
]Функция findRightExpressions использует рекурсивный обход всех возможных комбинаций чисел и операторов, поэтому она может быть медленной на больших числах targetValue. Кроме того, она использует метод eval, который может представлять риск безопасности, если аргумент содержит недопустимый код JavaScript.
Эта функция реализована в файле find-right-expressions.js.