Twoim zadaniem jest pobranie listy argumentów, które są liczbami całkowitymi lub operatorami, i parsowanie ich w następujący sposób:
Obecny operator zaczyna się od +.
Za każdym razem, gdy zostanie znaleziony operator, aktualny operator zmieni się na niego.
Możliwe operatory to: „+”, „-”, „*”, „/” i „%”, które odpowiadają ich znaczeniom w języku C i większości języków.
Zachowywane jest działające rozwiązanie, które zaczyna się od 0.
Za każdym razem, gdy zostanie znaleziona liczba całkowita, rozwiązanie jest modyfikowane przez liczbę zależną od operatora; np. jeśli operatorem jest „/”, wówczas rozwiązanie jest dzielone przez liczbę.
Jeśli operacja spowodowałaby powstanie liczby mieszanej (tj. Dziesiętnej), należy ją przenieść z powrotem do liczby całkowitej (tzn. Przecinek dziesiętny należy odciąć).
Wyjście ostatecznego rozwiązania.
Na przykład:
Argumenty 5 8 25 * 9 6 2 - 104 / 4 7 + 6 % 14skutkowałyby:
5 8 25 * 9 6 2 - 104 / 4 7 + 6 % 14
0 5 13 38 342 2052 4104 4000 1000 142 148 8 -> 8
Dane wejściowe będą w postaci argumentów wiersza polecenia lub funkcji lub równoważnych dla twojego języka.
Najkrótszy kod wygrywa!
%wymawiasz znaczenia w C, masz na myśli dokładnie to samo, co w C, czy też jest w porządku, jeśli zaokrągla się w kierunku -inf zamiast 0?