Дано арифметическое выражение, которое может включать скобки ( ()), экспоненты ( ^), деление ( /) и умножение ( *), сложение ( +) и вычитание ( -) (в таком порядке работы), например
a ^ (2 / 3) * 9 * 3 - 4 * 6
выведите то же выражение в префиксной записи.
(- (* (* (^ a (/ 2 3)) 9) 3) (* 4 6))
Пробелы необязательны как для ввода, так и для вывода. Вы можете предположить, что все операторы являются левоассоциативными и что все числа в выражении являются однозначными целыми числами (т.е. [0-9]).
Это сложная задача для гольфа, поэтому выигрывает самое короткое решение.
*и /имеют тот же приоритет, что и +amd -.
3+4-5+6 = (((3+4)-5)+6)или((3+4)-(5+6))?