InstruçÔes
Jogo dos 24
O jogo do 24 testa a aritmética mental de uma pessoa.
O objetivo do jogo Ă© organizar quatro nĂșmeros de maneira que, quando avaliados, o resultado seja 24
O que fazer:
Implemente uma função que receba uma string de quatro algarismos como argumento, com cada algarismo de 1 a 9 (inclusive), com repetiçÔes permitidas, e que retorne uma expressĂŁo aritmĂ©tica que avalie como chegar ao nĂșmero 24. Se essa solução nĂŁo existir, retorne "no solution exists".
Regras:
<ul>
<li> Only the following operators/functions are allowed: multiplication, division, addition, subtraction. </li>
<li> Division should use floating point or rational arithmetic, etc, to preserve remainders. </li>
<li> Forming multiple digit numbers from the supplied digits is disallowed. (So an answer of 12+12 when given 1, 2, 2, and 1 is wrong). </li>
<li> The order of the digits when given does not have to be preserved. </li>
</ul>
| Example input | Example output |
| ----------------------------- | ------------------------- |
| <code>solve24("4878");</code> | <code>(7-8/8)\*4</code> |
| <code>solve24("1234");</code> | <code>3\*1\*4\*2</code> |
| <code>solve24("6789");</code> | <code>(6\*8)/(9-7)</code> |
| <code>solve24("1127");</code> | <code>(1+7)\*(2+1)</code> |
Critérios de Aceitação:
Critérios de Aceitação:
Testes:
- `solve24` deve ser uma função.
- `solve24("4878")` deve retornar `(7-8/8)*4` ou `4*(7-8/8)` ou uma string vĂĄlida semelhante
- `solve24("1234")` deve retornar `1*2*3*4` ou uma string vĂĄlida semelhante
- `solve24("6789")` deve retornar `(6*8)/(9-7)`, `(8*6)/(9-7)` ou uma string vĂĄlida semelhante
- `solve24("1127")` deve retornar `(1+7)*(1+2)` ou uma string vĂĄlida semelhante
Console