基数10と基数2の両方で単純な算術演算(加算、減算、乗算、除算)を実行できる関数またはプログラムを記述します。
この関数は、数式を入力として受け取り、正しいベースで正しい結果を出力します。入力はn
、1つまたは複数の演算子(+ - * /
)で区切られた数字になります。
すべての入力値に0と1のみが含まれる場合、すべての値はバイナリと見なされます。少なくとも1桁がの場合2-9
、すべての値は基数10と見なされます。
ルール:
- 数字の間に演算子が1つだけあると仮定できます(表示
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はい、それは大丈夫です:
—
ウィーグリフィン
downvote ...なぜですか?
—
スティーヴィーグリフィン
110/10
、11.0
受け入れられますか?