2.6 KiB
2.6 KiB
title | id | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
24 game | 5951e88f64ebf159166a1176 | 5 | 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
tests:
- text: <code>solve24</code>是一个函数。
testString: 'assert(typeof solve24 === "function", "<code>solve24</code> is a function.");'
- text: <code>solve24("4878")</code>应返回<code>(7-8/8)*4</code>或<code>4*(7-8/8)</code>
testString: 'assert(include(answers[0], solve24(testCases[0])), "<code>solve24("4878")</code> should return <code>(7-8/8)*4</code> or <code>4*(7-8/8)</code>");'
- text: <code>solve24("1234")</code>应返回<code>1*2*3*4</code>任何排列
testString: 'assert(include(answers[1], solve24(testCases[1])), "<code>solve24("1234")</code> should return any arrangement of <code>1*2*3*4</code>");'
- text: <code>solve24("6789")</code>应返回<code>(6*8)/(9-7)</code>或<code>(8*6)/(9-7)</code>
testString: 'assert(include(answers[2], solve24(testCases[2])), "<code>solve24("6789")</code> should return <code>(6*8)/(9-7)</code> or <code>(8*6)/(9-7)</code>");'
- text: <code>solve24("1127")</code>应该返回<code>(1+7)*(1*2)</code>的排列
testString: 'assert(include(answers[3], solve24(testCases[3])), "<code>solve24("1127")</code> should return a permutation of <code>(1+7)*(1*2)</code>");'
Challenge Seed
function solve24 (numStr) {
// Good luck!
return true;
}
After Test
console.info('after the test');
Solution
// solution required