Вы должны оценить строку, написанную в обратной польской записи, и вывести результат.
Программа должна принять ввод и вернуть вывод. Для языков программирования, которые не имеют функций для приема ввода / вывода, вы можете принять такие функции, как readLine / print.
Вам не разрешено использовать какие-либо "eval" в программе.
Числа и операторы разделены одним или несколькими пробелами.
Вы должны поддерживать как минимум операторы +, -, * и /.
Вам необходимо добавить поддержку для отрицательных чисел (например, -4
это не то же самое, что 0 4 -
) и чисел с плавающей запятой.
Вы можете предположить, что ввод действителен и следует правилам выше
Тестовые случаи
Входные данные:
-4 5 +
Выход:
1
Входные данные:
5 2 /
Выход:
2.5
Входные данные:
5 2.5 /
Выход:
2
Входные данные:
5 1 2 + 4 * 3 - +
Выход:
14
Входные данные:
4 2 5 * + 1 3 2 * + /
Выход:
2
eval
разбора чисел? Это звучит довольно разбито. (Насколько мне известно, GolfScript - один из таких языков. Я думаю, он тоже сломан.)
eval(s)
float(s)
~
. :-P