Southperry.net
Reverse Polish Notation - Printable Version

+- Southperry.net (https://www.southperry.net)
+-- Forum: Social (https://www.southperry.net/forumdisplay.php?fid=14)
+--- Forum: Rubik's Cube (https://www.southperry.net/forumdisplay.php?fid=58)
+--- Thread: Reverse Polish Notation (/showthread.php?tid=63648)



Reverse Polish Notation - Imagine - 2013-04-06

A tutorial that my teacher linked shows 9 7 - 2 / being invalid, but I don't see how it is.
My thought process:
After 9, 7 is read in, stack is:
7
9

- is read in, 9 and 7 is popped off, and 9 - 7 is pushed in:
2

The 2 after - is read in and pushed in:
2
2

/ is read in, leading to both 2's being popped off and 2/2 to be pushed in:
1

The tutorial shows that right after 9 -7 is calculated, two numbers are attempted to be popped off the stack, leading to an error because the stack currently only has 1 number in it. Am I doing something wrong?


Reverse Polish Notation - Locked - 2013-04-06

It can also be 2 9 7 - / for it to work.

If you want to visualize it:


InputOperationStack
2Push Back[2]
9Push Back[2,9]
7Push Back[2,9,7]
-Subtract[2,(9-7)]
-Push Result[2,2]
/Divide[(2/2)]
/Push Result[1]


Likewise, I think yours is still correct.


InputOperationStack
9Push Back[9]
7Push Back[9,7]
-Subtract[9-7]
-Push Result[2]
2Push Back[2,2]
/Divide[2/2]
/Push Result[1]