밑 10과 밑 2 모두에서 간단한 산술 (더하기, 빼기, 곱하기 및 나누기)을 수행 할 수있는 것보다 함수 나 프로그램을 작성하십시오.
이 함수는 수학적 표현을 입력으로 받아 정확한 결과를 정확한베이스에 출력합니다. 입력은 n
하나 이상의 연산자 ( + - * /
)로 구분 된 숫자 입니다.
모든 입력 값에 0과 1 만 포함 된 경우 모든 값은 이진으로 간주됩니다. 하나 이상의 숫자가 인 2-9
경우 모든 값은 10 진으로 간주됩니다.
규칙 :
- 숫자 사이에 연산자가 하나만 있다고 가정 할 수 있습니다 (
10*-1
표시되지 않음) - 괄호가 없을 것이라고 가정 할 수 있습니다.
- 일반적인 연산자 우선 순위 (잘 모르는 경우 Google 계산기에서 표현을 시도하십시오).
- 정수만 있다고 가정 할 수는 없습니다.
- 입력 또는 출력에 선행 0이 없습니다.
- 유효한 입력 만 제공한다고 가정 할 수 있습니다
- 모든 입력 값은 양수 가정 할 수있다 (그러나 마이너스 연산자는 음의 출력을 가능하게하는, 수
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
downvote ... 왜?
—
Stewie Griffin
110/10
이며,11.0
허용 가능한?