#P19. 计算中缀表达式的值
计算中缀表达式的值
题目描述
小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,0123456789+-*/^(),求出的值就是密码。小明数学学得不好,还需你帮他的忙。("/"用整数除法)
输入格式
输入仅一行,是一个中缀表达式。输入的符号中只有这些基本符号 0123456789+-*/^(),并且不会出现形如 2*-3 的格式。
表达式中的数字可能出现多位数,比如12*34,但是任何数字都不会超过int的范围。
保证输入的字符串是正确的算式,不需要判错。
输出格式
输出一个整数,代表密码。
【输入输出样例#1】
输入#1
1+(3+2)*(7^2+6*9)/(2)
输出#1
258
【输入输出样例#2】
输入#2
5*2^3^2+(2^3)^2
输出#2
2624
说明提示
样例 2 解释
乘方运算 ^ 是从右向左结合的,即 2 ^ 3 ^ 2 为 2 ^ (3 ^ 2)。
其他同优先级的运算是从左向右结合的,即 4 / 2 / 2 * 2 为 ((4 / 2) / 2) * 2。
数据范围
对于 的算式,保证式子只有0123456789+-*/^(),长度小于,所有数字以及结果都在 范围内。