Vous devez évaluer une chaîne écrite en notation polonaise inversée et générer le résultat.
Le programme doit accepter une entrée et renvoyer la sortie. Pour les langages de programmation qui ne disposent pas de fonctions pour recevoir des entrées / sorties, vous pouvez assumer des fonctions telles que readLine / print.
Vous n'êtes pas autorisé à utiliser n'importe quel type de "eval" dans le programme.
Les nombres et les opérateurs sont séparés par un ou plusieurs espaces.
Vous devez prendre en charge au moins les opérateurs +, -, * et /.
Vous devez ajouter un support aux nombres négatifs (par exemple, ce -4
n'est pas la même chose 0 4 -
) et aux nombres à virgule flottante.
Vous pouvez supposer que la saisie est valide et respecte les règles ci-dessus
Cas de test
Contribution:
-4 5 +
Sortie:
1
Contribution:
5 2 /
Sortie:
2.5
Contribution:
5 2.5 /
Sortie:
2
Contribution:
5 1 2 + 4 * 3 - +
Sortie:
14
Contribution:
4 2 5 * + 1 3 2 * + /
Sortie:
2
eval
pour analyser les numéros? Cela semble assez cassé. (GolfScript est l'un de ces langages, à ma connaissance. Je pense qu'il est cassé aussi.)
eval(s)
est meilleur quefloat(s)
~
. :-P