Функция 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
.