#如题
问题:
*对如下的列表中元素进行如下计算,要求结果必须为整数*
['3', '13', '5', '/', '+'] => (3+13/5) = 6
['3', '4', '+', '*', '5'] => (3+4) * 5 = 35
1
Septembers 2015-07-06 10:29:02 +08:00 via Android
一个典型的RPN。。。
see https://zh.wikipedia.org/wiki/逆波兰表示法 |
2
laoyuan 2015-07-06 10:51:29 +08:00
第一题是 (13 + 5) / 3
|
3
qianlv 2015-07-06 10:51:34 +08:00
@Septembers 第二个不是逆波兰表示法吧???
|
4
firefffffffffly 2015-07-06 11:09:56 +08:00
两个示例都有些奇怪,如果是逆波兰表示法,那就用栈解决。
|
5
cc7756789 2015-07-06 11:25:10 +08:00
|
6
hahastudio 2015-07-06 11:39:52 +08:00
题目不是很明确
是输出不要输出小数,还是说要凑出一个表达式,使得结果是整数 比如第一个样例期望的到底是 int(round(3 + 13 / 5)) = 6,还是 (13 + 5) / 3 = 6 有多种结果的话,是输出哪个结果? 比如第二个,怎么组合都会返回整数的,是返回 3 * 4 + 5 = 17 呢,还是 (3 + 4) * 5 = 35 呢 |
7
imn1 2015-07-06 11:51:34 +08:00
我想知道加减乘除没有除法运算,一堆整数怎么变成非整数?
|
8
SmiteChow 2015-07-06 15:03:26 +08:00
数字push stack, 遇到操作符号,pop stack 两次,算出结果后push stack
|