在以10为底和以2为底的基础上编写一个函数或程序,使其无法执行简单的算术运算(加,减,乘和除)。
该函数将以数学表达式作为输入,并以正确的底数输出正确的结果。输入的n
数字将由一个或多个运算符(+ - * /
)分隔。
如果所有输入值仅包含0和1,则将所有值视为二进制。如果至少一位数字为2-9
,则所有值均被视为以10为底。
规则:
- 您可以假设数字之间只有一个运算符(
10*-1
不会出现) - 您可以假设没有括号。
- 普通运算符优先级(如果您有疑问,请尝试在Google计算器中使用表达式)。
- 您不能假设只会有整数
- 输入或输出中将没有前导零
- 您可以假设只会提供有效的输入
- 您可以假设所有输入值均为正(但减号运算符可能使负输出成为可能,
1-2=-1
和10-100=-10
) - 不接受REPL
- 您可以选择将输入作为单独的参数或作为单个参数,但是输入必须以正确的顺序进行。
- 也就是说,用户可以代表
1-2
与输入参数1
,-
,2
,但不1
,2
,-
。
- 也就是说,用户可以代表
- 您必须接受
+ - * /
输入中的符号,不能接受plus
,minus
等等。 - 您必须支持浮点值(或不超过您的语言的最大限制,但是不支持仅整数)。
eval
被接受
例子:
1+1
10
1010+10-1
1011
102+10-1
111
1+2+3
6
10*10*10
1000
11*11*11
11011
10*11*12+1
1321
10.1*10.1
110.01
20.2*20.2
408.04
10/5
2
110/10
11
Also accepted (optional line or comma-separated input):
10
+
10
-
1
11 <-- This is the output
这是代码高尔夫,所以最短的代码(以字节为单位)将获胜。
@isaacg是的,没关系:-)
—
Stewie Griffin
下票...为什么?
—
Stewie Griffin
110/10
,可以11.0
接受吗?