Debe evaluar una cadena escrita en notación polaca inversa y generar el resultado.
El programa debe aceptar una entrada y devolver la salida. Para los lenguajes de programación que no tienen funciones para recibir entrada / salida, puede asumir funciones como readLine / print.
No está permitido utilizar ningún tipo de "evaluación" en el programa.
Los números y operadores están separados por uno o más espacios.
Debe admitir al menos los operadores +, -, * y /.
Debe agregar soporte a los números negativos (por ejemplo, -4
no es lo mismo que 0 4 -
) y los números de coma flotante.
Puede suponer que la entrada es válida y sigue las reglas anteriores
Casos de prueba
Entrada:
-4 5 +
Salida:
1
Entrada:
5 2 /
Salida:
2.5
Entrada:
5 2.5 /
Salida:
2
Entrada:
5 1 2 + 4 * 3 - +
Salida:
14
Entrada:
4 2 5 * + 1 3 2 * + /
Salida:
2
eval
para analizar números? Suena bastante roto. (GolfScript es uno de esos lenguajes, que yo sepa. Creo que también está roto.)
eval(s)
es mejor quefloat(s)
~
. :-P