rourou_Jun 发表于 2014-3-6 00:14:32

hp rpn模式如何计算诸如5*(2+3)这样的式子

我如果输入
5 enter
2*
3+
结果就是13.
怎么得到正确答案25呢

诗诺比 发表于 2014-3-6 09:00:45

5 enter
2 enter
3 +*
按我理解应该是这样...LZ自己试试看....逆波兰有啥好的...反人类
5*(2+3)=相比按键次数就多了一个=号而已...不用大脑参与表达式转换...

放说逆波兰转换在编程中 这本来是编译器完成的工作

诗诺比 发表于 2014-3-6 18:12:27

ExAcler 发表于 2014-3-6 13:28 static/image/common/back.gif
应该是这样的
2 Enter
3 +


这种换了顺序呀...不科学

按你这思路
(2+3)*(4+5)怎么输入呢?

rourou_Jun 发表于 2014-3-6 21:46:12

ExAcler 发表于 2014-3-6 18:51 static/image/common/back.gif
2 Enter
3 +
4 Enter



今天学校里我自己琢磨出堆栈是干嘛的了

Nero 发表于 2014-3-7 16:48:39

学学Scheme就大概知道些了。
Scheme (pn)
(* 5 (+ 2 3))

rpn:
(5 (2 3 +) *) 或 ((2 3 +) 5 *)

所以计算器上就是 5,2,3,+,* 或者2,3,+,5,*。
我不了解这个计算器具体的按键方法,但是大体应该是这样。用(逆)波兰表达式还可以用类似的方法表示其它函数。

The_Andy! 发表于 2014-3-8 10:38:09

诗诺比 发表于 2014-3-6 09:00 static/image/common/back.gif
5 enter
2 enter
3 +*


嗯。我个人特别喜欢逆波兰,习惯了之后,输入速度是线性和自然输入比不上的,而且其实也并不是特别难习惯。。

rourou_Jun 发表于 2014-3-8 12:28:45

The_Andy! 发表于 2014-3-8 10:38
嗯。我个人特别喜欢逆波兰,习惯了之后,输入速度是线性和自然输入比不上的,而且其实也并不是特别难习惯 ...

每次都要想一下………
页: [1]
查看完整版本: hp rpn模式如何计算诸如5*(2+3)这样的式子