介绍:
受到关于表达式的讨论的启发,讨论已经进行了很多年。
使用表达式,数学家将很快看到正确答案是,而具有简单数学背景的人从学校毕业后将很快看到正确答案是。那么,这种争议何在呢?因此得出不同的答案呢?在编写方式时有两个相互冲突的规则。一种是由于零件,一种是由于分隔符号。
2(
÷
虽然这两个数学家和“普通人”将使用PEMDAS(括号-指数-司/乘法-加法/减法),数学家表达被这样下面评价,因为是一样例如单项式又名“ 由于并置的隐式乘法导致的单个项 ”(因此in的一部分),其计算结果将不同于(二项式又称为两个项):
P
PEMDAS
而对于“普通人”,和将是相同的(因此是in的一部分),因此他们将改用它:
MD
PEMDAS
但是,即使我们将原始表达式写为,由于使用除法符号仍然存在一些争议。在现代数学中,和符号的含义完全相同:除法。有些规则预先1918年†有关司符号††状态,它有比区间符号不同的含义。这是因为过去的意思是“ 将左边的数字/表达式除以右边的数字/表达式 ” 。因此等于或。在这种情况下÷
/
÷
÷
/
÷
会在1918年之前被人们这样评估:
†:尽管我找到了多个资料来解释÷
过去的用法(请参阅下面的†††),但我无法找到确切的证据证明这种情况在1918年左右发生了改变。但是出于这一挑战,我们假设1918年是一个转折点,在这里÷
和
/
开始意味着同一件事,它们在过去有所不同。
††:其它符号也已经在过去的部门使用,如
:
在1633(或现在仍然在荷兰和其他欧洲非英语国家,因为这是我个人在小学的xD学会),或)
在1540年代。但是对于这一挑战,我们仅关注1918年前的obelus符号的含义÷
。
†††:来源:本文一般。而关于前1918年的规则÷
中提到:这个美国数学月刊从1917年2月的文章 ; 这本德国 Teutsche代数书从1659年第9 页和第76页开始 ; 这是代数的第一本书从1895年第46页[48/189]。有点题外话:关于该表达式的实际讨论:绝对不要这样写!如果问题不清楚,正确答案是无关紧要的。 *点击“关闭,因为不清楚您要问什么”按钮*。
根据记录,即使是不同版本的Casio计算器也不知道如何正确处理此表达式:
挑战:
您将获得两个输入:
- 仅由符号组成的(有效)数学表达式
0123456789+-×/÷()
- 一年
然后,您将基于年份输出数学表达式的结果(在,÷
使用时会有所不同,但在时,会使用完全相同的)。/
挑战规则:
- 您可以假定数学表达式有效,并且仅使用符号
0123456789+-×/÷()
。这也意味着您无需处理幂运算。(如果允许打高尔夫球或您的语言仅支持ASCII,则也可以将×
或÷
(即*
或%
)使用其他符号。) - 如果这有助于(也许是手动的)表达式求值,则可以在输入表达式中添加空格分隔符。
- I / O是灵活的。输入可以是字符串,字符数组等。年份可以是整数,日期对象,字符串等。输出将是十进制数。
- 您可以假设将没有0个测试用例的划分。
- 您可以假设input-expression中的数字为非负数(因此您不必处理将
-
负号与减号区分-
)。但是,输出仍然可以为负! - 您可以假设
N(
将始终写为N×(
。我们只专注于师符号的第二个争议/
VS÷
这一挑战。 - 十进制输出值的精度至少应为三个十进制数字。
- 如果输入表达式包含多个
÷
(即)与,它们被评价是这样的:。(或者换句话说:数字除以表达式,其中表达式依次表示数字除以数字) - 请注意,这种方式
÷
隐式起作用意味着它的操作符优先于×
和/
(请参见测试用例)。 - 你可以假设输入年份的范围内。
一般规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接(即TIO)。
- 另外,强烈建议为您的答案添加说明。
测试用例:
Input-expression: Input-year: Output: Expression interpretation with parenthesis:
6÷2×(1+2) 2018 9 (6/2)×(1+2)
6÷2×(1+2) 1917 1 6/(2×(1+2))
9+6÷3-3+15/3 2000 13 ((9+(6/3))-3)+(15/3)
9+6÷3-3+15/3 1800 3 (9+6)/((3-3)+(15/3))
4÷2÷2 1918 1 (4/2)/2
4÷2÷2 1900 4 4/(2/2)
(1÷6-3)×5÷2/2 2400 -3.541... ((((1/6)-3)×5)/2)/2
(1÷6-3)×5÷2/2 1400 1.666... ((1/(6-3))×5)/(2/2)
1×2÷5×5-15 2015 -13 (((1×2)/5)×5)-15
1×2÷5×5-15 1719 0.2 (1×2)/((5×5)-15)
10/2+3×7 1991 26 (10/2)+(3×7)
10/2+3×7 1911 26 (10/2)+(3×7)
10÷2+3×7 1991 26 (10/2)+(3×7)
10÷2+3×7 1911 0.434... 10/(2+(3×7))
4÷2+2÷2 2000 3 (4/2)+(2/2)
4÷2+2÷2 1900 2 4/((2+2)/2)
4÷2×2÷3 9999 1.333... ((4/2)×2)/3
4÷2×2÷3 0000 3 4/((2×2)/3)
((10÷2)÷2)+3÷7 2000 2.928... ((10/2)/2)+(3/7)
((10÷2)÷2)+3÷7 1900 0.785... (((10/2)/2)+3)/7
(10÷(2÷2))+3×7+(10÷(2÷2))+3×7
1920 62 (10/(2/2))+(3×7)+(10/(2/2))+(3×7)
(10÷(2÷2))+3×7+(10÷(2÷2))+3×7
1750 62 (10/(2/2))+(3×7)+(10/(2/2))+(3×7)
10÷2/2+4 2000 6.5 ((10/2)/2)+4
10÷2/2+4 0100 2 10/((2/2)+4)
9+6÷3-3+15/3 9630 13 9+(6/3)-3+(15/3)
9+6÷3-3+15/3 0369 3 (9+6)/(3-3+(15/3))
`=`=`/`
是恶魔般的!很好的解决方案!