Feu un programa que llegeixi una expressió prefixada, i que escrigui el resultat d’avaluar-la. Els operands són naturals entre 0 i 9 (inclosos). Hi ha tres operadors possibles, identificats amb -, + i m: el canvi de signe (operació unària), la suma (operació binària), i el màxim de tres nombres (operació ternària).
Entrada
L’entrada té una expressió prefixada. Això vol dir que sempre apareix l’operador abans que el seu o els seus operands.
Per exemple, la seqüència
+ - 8 m 4 + 5 7 9
es correspon a l’expressió matemàtica
−8 + max3(4, 5 + 7, 9) = −8 + max3(4, 12, 9) = −8 + 12 = 4 . |
Sortida
Cal escriure un enter en una línia: el resultat d’avaluar l’expressió.
Input
- 8
Output
-8
Input
+ 5 7
Output
12
Input
m 1 2 3
Output
3
Input
+ - 8 m 4 + 5 7 9
Output
4
Input
- - - + 9 8
Output
-17