나는 당신의 BIDMAS를보고 당신을 BADMIS를 키 웁니다
도전
"5 + 4 * 9/3-8"사이에 연산자가있는 숫자 집합이 주어지면 기본 연산 순서의 모든 순열에 대해 식의 가능한 모든 결과를 반환합니다 : [/, *, +,-].
규칙
- 금지 된 표준 허점
- I / O
- 입력은 삽입 연산으로 주문해야하지만 가장 쉬운 방법입니다 (문자열 또는 배열)
- 단항 연산자를 지원하지 않아도됩니다 (예 : "-3 * 8 / +2")
- 암시 적으로 형식을 구문 분석하는 언어의 정수는 부동 소수점으로 대체 될 수 있습니다 (예 : 45 ⟶ 45.0)
- 출력은 표현식의 가능한 모든 결과 여야하며 지정된 형식이나 순서가 없어야합니다.
- 모든 입력이 유효합니다 (예 : "7/3 + *"를 처리 할 필요가 없습니다). 이것은 또한 0으로 나눌 필요가 없다는 것을 의미합니다.
- 연산자는 모두 왼쪽 연관이므로 "20/4/2"= "(20/4) / 2"
- 이것은 코드 골프이므로 바이트 수가 가장 적습니다.
테스트 사례 (설명 포함)
- "2 + 3 * 4"= [14, 20]
- 2 + (3 * 4) ⟶ 2 + (12) ⟶ 14
- (2 + 3) * 4 ⟶ (5) * 4 ⟶ 20
- "18/3 * 2-1"= [11, 2, 6]
- ((18/3) * 2)-1 ⟶ ((6) * 2)-1 ⟶ (12)-1 ⟶ 11
- (18/3) * (2-1) ⟶ (6) * (1) ⟶ 6
- (18 / (3 * 2))-1 ⟶ (18 / (6))-1 ⟶ (3)-1 ⟶ 2
- 18 / (3 * (2-1)) ⟶ 18 / (3 * (1)) ⟶ 6
- 18 / ((3 * 2)-1) ⟶ 18/5 ⟶ 3.6
테스트 사례 (설명없이)
- "45/8 + 19/45 * 3"= [6.891666666666667, 18.141666666666666, 0.11111111111111113, 0.01234567901234568, 0.01234567901234568, 5.765740740740741]
- "2 + 6 * 7 * 2 + 6/4"= [11296 23 87.5]
2 - 3 + 4
=>[-5, 3]
2*3-6+2-9/6*8+5/2-9
, 24 개의 뚜렷한 결과 제공.