Expressió prefixada P59813


Statement
 

pdf   zip

html

Feu un programa que llegeixi una expressió prefixada, i escrigui el resultat d’avaluar-la. Els operadors possibles són suma, resta i multiplicació. Els operands són nombres naturals entre 0 i 9 (inclosos).

Entrada

L’entrada és una expressió prefixada. Això vol dir que sempre apareix l’operador abans que els seus operands. Per exemple, l’expressió 4 + 3 vindria donada així:

+ 4 3

L’expressió 8 * (4 + 3) vindria donada així:

* 8 + 4 3

L’expressió (2 − 8) * (4 + 3) vindria donada així:

* - 2 8 + 4 3

Sortida

Cal escriure un enter: el resultat d’avaluar l’expressió.

Observació

Utilitzeu recursivitat (no taules). Fixeu-vos que una expressió o bé és un dígit, o bé és un operador seguit d’una expressió seguit d’una altra expressió.

Public test cases
  • Input

    + 4 3
    

    Output

    7
    
  • Input

    * 8 + 4 3
    

    Output

    56
    
  • Input

    * - 2 8 + 4 3
    

    Output

    -42
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++ Python