Dada una expresión aritmética, que puede incluir paréntesis ( ()), exponentes ( ^), división ( /) y multiplicación ( *), suma ( +) y resta ( -) (en ese orden de operación), como
a ^ (2 / 3) * 9 * 3 - 4 * 6
genera la misma expresión en notación de prefijo.
(- (* (* (^ a (/ 2 3)) 9) 3) (* 4 6))
Los espacios son opcionales tanto en la entrada como en la salida. Puede suponer que todos los operadores son asociativos a la izquierda y que todos los números en la expresión son enteros de un solo dígito (es decir [0-9]).
Este es un desafío de código de golf, por lo que gana la solución más corta.
*y /tienen la misma precedencia, como lo hacen +amd -.
3+4-5+6 = (((3+4)-5)+6)o((3+4)-(5+6))?