Recentemente, eu escrevi um novo idioma . Para evitar a necessidade de lidar com a ordem das operações , simplesmente parênteses pare cada expressão corretamente para evitar isso completamente.
Como os parênteses estão nos códigos de caracteres 40 a 41, seu código precisará ser o mais curto possível.
Exemplos
1+2*3
(1+(2*3))
2*(3+4)
(2*(3+4))
2*3/4+3
(((2*3)/4)+3)
342*32/8
((342*32)/8)
Regras
As únicas operações que você precisará manipular são: *
(multiplicação), /
(divisão), +
(adição) e -
(subtração).
- A ordem das operações é:
- Parêntese
- Multiplicação, Divisão
- Adição, Subtração
- Você deve preferir ir esquerda-direita
- Os números de entrada sempre serão números inteiros positivos (ver bônus)
Bónus
-20% se você lida com negação:
3+-5
(3+(-5))
-5% se você permitir que espaços sejam colocados dentro da entrada:
3 + 4
(3+4)
-10% se você puder manipular casas decimais na entrada:
1+.12
(1+.12)
1+0.21/3
(1+(0.21/3))
Recompensa 500: se você conseguir escrever uma resposta em Sem nome / Blocos
1+2+3+4
(que certas soluções podem estar entre parênteses como ((1+2)+(3+4))
) #