최근에 나는 연산 순서 를 처리 할 필요를 피하기 위해 새로운 언어를 작성해 왔으며 , 이것을 완전히 피하기 위해 각 표현을 적절히 괄호로 묶습니다.
괄호는 문자 코드 40-41이므로 코드는 가능한 짧아야합니다.
예
1+2*3
(1+(2*3))
2*(3+4)
(2*(3+4))
2*3/4+3
(((2*3)/4)+3)
342*32/8
((342*32)/8)
규칙
처리해야 할 작업은 *
(곱하기), /
(나누기), +
(더하기) 및 -
(빼기) 뿐입니다 .
- 작업의 순서는 다음과 같습니다
- 괄호
- 곱셈, 나눗셈
- 덧셈, 뺄셈
- 당신은 왼쪽으로 이동하는 것을 선호합니다
- 입력 숫자는 항상 양의 정수입니다 (보너스 참조).
보너스
부정을 다루는 경우 -20 % :
3+-5
(3+(-5))
공백이 입력 내부에 배치되도록 허용하는 경우 -5 % :
3 + 4
(3+4)
입력에서 소수를 처리 할 수있는 경우 -10 %
1+.12
(1+.12)
1+0.21/3
(1+(0.21/3))
1+2+3+4
(어떤 솔루션은 괄호로 ((1+2)+(3+4))