Il tuo compito è quello di prendere un elenco di argomenti che sono numeri interi o operatori e analizzarli in questo modo:
C'è un operatore corrente, che inizia come +.
Ogni volta che viene trovato un operatore, l'operatore corrente cambierà in esso.
I possibili operatori sono: "+", "-", "*", "/" e "%", che corrispondono ai loro significati in C e nella maggior parte delle lingue.
È stata mantenuta una soluzione in esecuzione, che inizia da 0.
Ogni volta che viene trovato un numero intero, la soluzione viene modificata dal numero in base all'operatore; ad es. se l'operatore è "/", la soluzione viene divisa per il numero.
Se un'operazione si tradurrebbe in un numero misto (cioè con un decimale), allora deve essere ripristinato a un numero intero (cioè il decimale deve essere troncato).
Invia la soluzione finale.
Per esempio:
Gli argomenti 5 8 25 * 9 6 2 - 104 / 4 7 + 6 % 14comporterebbero:
5 8 25 * 9 6 2 - 104 / 4 7 + 6 % 14
0 5 13 38 342 2052 4104 4000 1000 142 148 8 -> 8
Gli input saranno come argomenti da riga di comando o funzione, o un equivalente per la tua lingua.
Vince il codice più corto!
%giro è verso -inf invece di 0?