普通の(?)記法: 1+4*(1+2)
RPN: 1 1 2 + 4 * +
1積む1積む2積む、+が来たので2個取り出して(2と1)足して結果(3)積む、
4積む、*が来たので2個取り出して(4と3)掛けて結果(12)積む、
+が来たので2個取り出して(12と1)足して結果(13)積む

あってる?><;

普通の記法からRPNへの変換は、各要素に重みをつける><
重みは数値の方が重くて演算子が低い、演算子同士は優先する演算子が重い、括弧の中身はさらに重く><
で、重みでソートするとRPNになる><
(リバースじゃないポーランド記法への変換はやったこと無いので知らない><;(計算機上での実用上はRPNの方を使うのが有利すぎてリバースじゃないポーランド記法ってまず使わない気がする><))

フォロー

(関数)電卓の作り方の一番メジャーなやり方がこれかも><

· · SubwayTooter · 0 · 0 · 0
ログインして会話に参加
:realtek:

思考の /dev/null