Dada uma expressão aritmética, que pode incluir parênteses ( ()), expoentes ( ^), divisão ( /) e multiplicação ( *), adição ( +) e subtração ( -) (nessa ordem de operação), como
a ^ (2 / 3) * 9 * 3 - 4 * 6
produz a mesma expressão na notação de prefixo.
(- (* (* (^ a (/ 2 3)) 9) 3) (* 4 6))
Os espaços são opcionais na entrada e na saída. Você pode assumir que todos os operadores são associativos à esquerda e que todos os números na expressão são números inteiros de um dígito (ou seja [0-9]).
Este é um desafio de código de golfe, portanto, a solução mais curta vence.
*e /têm a mesma precedência, assim como +amd -.
3+4-5+6 = (((3+4)-5)+6)Ou seja, é ou((3+4)-(5+6))?