Aller au contenu principal
U/
Piles
polyglotte

Évaluer une expression en notation polonaise inverse (RPN)

Lire une expression en notation polonaise inverse et afficher sa valeur entière, en utilisant une pile pour l'évaluation.

45 minPublié le 20 mai 2026Proposé par Anonyme

Défi

// Lisez attentivement, codez sur votre machine

Énoncé

Le programme lit sur l'entrée standard une expression en notation polonaise inverse (RPN) : une suite de tokens séparés par des espaces sur une seule ligne. Chaque token est soit un entier (positif, négatif ou nul), soit l'un des opérateurs +, -, *, /. La division est entière et tronquée vers zéro. Le programme affiche la valeur entière résultante.

L'algorithme utilise une pile : pour chaque token, si c'est un entier, le pousser ; si c'est un opérateur, dépiler les deux derniers opérandes (le premier dépilé est l'opérande droit), appliquer l'opération, et pousser le résultat. La valeur finale est l'unique élément restant sur la pile.

Contraintes

  • L'expression est garantie valide (pile jamais vide lors d'un dépilage, un seul élément final).
  • Les opérandes sont des entiers compris entre -10 000 et 10 000.
  • Le résultat intermédiaire et final tient dans un entier 64 bits signé.
  • La division par zéro ne sera pas testée.
  • Solution réalisable dans tout langage généraliste avec sa seule bibliothèque standard.

Exemple

Entrée : 3 4 + 2 * 7 -
Sortie : 7

(3+4)=7, 7×2=14, 14-7=7.

Entrée : 5 1 2 + 4 * + 3 -
Sortie : 14

(1+2)=3, 3×4=12, 5+12=17, 17-3=14.

Espace solution

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre code (aucune exécution côté serveur — on stocke juste le texte pour la communauté).

// À garder en tête
  • D'abord, faire marcher

    On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)

  • Pas de mauvaise réponse

    Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.

  • Trop dur ? Au suivant

    Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.