背景:
在开发一些计算程序时,比较传统的计算表达方式如下,
1+1231+131+3+45/4第三,四的例子存在一定的模糊点,比如由于第三个表达式1+13,在数学里通常都是先乘除后加减,因此答案是4,但是如果加上括号(1+1)3,那么答案就是6为了更高效地解决一些先后顺序问题,减少对括号等表达方式的依赖,我们采用一种新的表达方式,比如上面的4个例子对应的表达式如下
11+=223
=6113+=413454/++=9表达式说明:数字和数字和符号之间用空格隔开,按照先乘除后加减的规则把数字写在前面,把计算符号写在后面
更多的例子
123++
这个的结果=6246+810++
这个的结果=32,分解
2
4=8,
8+6=14,
14+8=22,22+10=323579++5+
这个的结果=68分解
7+9=1616+5=2121
3=6363+5=68
问题:
请开发一个程序来计算下面表达式的结果(1小时内)请用文字表达你的开发思路(简短描述,15分钟内)如果你觉得你的思路可以在代码上很清晰的表达时,可以不用文字解析,文字解析更多是当你写不出代码时用来判断你的思路。
10203++678-2757+9++-+1023++9507508-1757+9++--123++171-2
57+9++-+123++178-2757+9++--123++178-2757+9++-123++678-1757+9+++-123++672-8757+9-++-123++672-8757+9+++-12
++671-
8757+9+++-123++671-8757+9+-=--+-++-*79000+4921+9
提示
.可以当作所有数字和符号之间都是空格隔开(没有格式上的错误)
·这个算式是有结果的,不要转牛角尖去看看里面有没有错别字之类的(不用处理错别字)
·假设你的电脑只有很少的内存但有需要计算数亿个数字的加减乘除时,如何做到高效
.不需要处理加减乘除意外的其他计算

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4635/viewspace-3124408/ ,如需转载,请注明出处,否则将追究法律责任。