È necessario valutare una stringa scritta in notazione polacca inversa e produrre il risultato.
Il programma deve accettare un input e restituire l'output. Per i linguaggi di programmazione che non dispongono di funzioni per ricevere input / output, è possibile assumere funzioni come readLine / print.
Non è consentito utilizzare alcun tipo di "valutazione" nel programma.
I numeri e gli operatori sono separati da uno o più spazi.
È necessario supportare almeno gli operatori +, -, * e /.
Devi aggiungere supporto ai numeri negativi (ad esempio, -4
non è la stessa cosa di 0 4 -
) e ai numeri in virgola mobile.
Puoi presumere che l'input sia valido e segua le regole sopra
Casi test
Ingresso:
-4 5 +
Produzione:
1
Ingresso:
5 2 /
Produzione:
2.5
Ingresso:
5 2.5 /
Produzione:
2
Ingresso:
5 1 2 + 4 * 3 - +
Produzione:
14
Ingresso:
4 2 5 * + 1 3 2 * + /
Produzione:
2
eval
per analizzare i numeri? Sembra abbastanza rotto. (GolfScript è uno di questi linguaggi, per quanto ne so. Penso che sia rotto anche lui.)
eval(s)
è meglio difloat(s)
~
. :-P