Biorąc pod uwagę wyrażenie arytmetyczne, które może obejmować nawiasy ( ()), wykładniki ( ^), dzielenie ( /) i mnożenie ( *), dodawanie ( +) i odejmowanie ( -) (w tej kolejności operacji), takie jak
a ^ (2 / 3) * 9 * 3 - 4 * 6
wypisuje to samo wyrażenie w notacji przedrostkowej.
(- (* (* (^ a (/ 2 3)) 9) 3) (* 4 6))
Spacje są opcjonalne na wejściu i wyjściu. Możesz założyć, że wszystkie operatory są lewostronne i że wszystkie liczby w wyrażeniu są jednocyfrowymi liczbami całkowitymi (tj [0-9].).
To wyzwanie dla golfa, więc wygrywa najkrótsze rozwiązanie.
*i /mają taki sam priorytet, jak +amd -.
3+4-5+6 = (((3+4)-5)+6)czy((3+4)-(5+6))?