Musisz ocenić ciąg napisany w odwrotnej notacji polskiej i wygenerować wynik.
Program musi zaakceptować dane wejściowe i zwrócić dane wyjściowe. W przypadku języków programowania, które nie mają funkcji do odbierania danych wejściowych / wyjściowych, można przyjąć funkcje takie jak readLine / print.
W programie nie wolno używać żadnego rodzaju „eval”.
Liczby i operatory są oddzielone co najmniej jedną spacją.
Musisz obsługiwać co najmniej operatorów +, -, * i /.
Musisz dodać obsługę liczb ujemnych (na przykład -4
to nie to samo, co 0 4 -
) i liczb zmiennoprzecinkowych.
Możesz założyć, że dane wejściowe są prawidłowe i są zgodne z powyższymi zasadami
Przypadki testowe
Wejście:
-4 5 +
Wynik:
1
Wejście:
5 2 /
Wynik:
2.5
Wejście:
5 2.5 /
Wynik:
2
Wejście:
5 1 2 + 4 * 3 - +
Wynik:
14
Wejście:
4 2 5 * + 1 3 2 * + /
Wynik:
2
eval
do analizowania liczb? Brzmi dość zepsuty. (O ile mi wiadomo, GolfScript jest jednym z takich języków. Myślę, że też jest zepsuty.)
eval(s)
jest lepszy niżfloat(s)
~
. :-P