--- title: 24 game id: 5951e88f64ebf159166a1176 challengeType: 5 videoUrl: '' localeTitle: 24场比赛 --- ## Description

实现一个以四位数字串为参数的函数,每个数字从1──►9(含),允许重复,并返回一个算术表达式,其值为24。如果不存在这样的解,则返回“没有解决方案。“

规则:

只允许以下运算符/函数:乘法,除法,加法,减法除法应使用浮点或有理算术等来保留余数。不允许从提供的数字中形成多位数字。 (所以当给出1,2,2和1时,12 + 12的答案是错误的)。给定的数字顺序不必保留。

示例输入:

solve24("4878"); solve24("1234"); solve24("6789"); solve24("1127");

示例输出(字符串):

(7-8/8)*4 3*1*4*2 (6*8)/(9-7) (1+7)*(2+1)
## Instructions
## Tests
```yml tests: - text: solve24是一个函数。 testString: 'assert(typeof solve24 === "function", "solve24 is a function.");' - text: solve24("4878")应返回(7-8/8)*44*(7-8/8) testString: 'assert(include(answers[0], solve24(testCases[0])), "solve24("4878") should return (7-8/8)*4 or 4*(7-8/8)");' - text: solve24("1234")应返回1*2*3*4任何排列 testString: 'assert(include(answers[1], solve24(testCases[1])), "solve24("1234") should return any arrangement of 1*2*3*4");' - text: solve24("6789")应返回(6*8)/(9-7)(8*6)/(9-7) testString: 'assert(include(answers[2], solve24(testCases[2])), "solve24("6789") should return (6*8)/(9-7) or (8*6)/(9-7)");' - text: solve24("1127")应该返回(1+7)*(1*2)的排列 testString: 'assert(include(answers[3], solve24(testCases[3])), "solve24("1127") should return a permutation of (1+7)*(1*2)");' ```
## Challenge Seed
```js function solve24 (numStr) { // Good luck! return true; } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```