소개
계산기가 이상하게 작동합니다. 때로는 내가 입력하면가 8
표시됩니다 2
. 때로는 입력하면 a 6
가 표시됩니다 +
. 일부 버튼이 섞여 있습니다!
아무도 나를 결정하는 데 도움을 줄 수 있습니까?
도전:
입력 : 올바른 결과 가있는 잘못된 방정식 목록 .
출력 : 교체 된 두 개의 버튼.
예를 들면 다음과 같습니다
. 입력은 다음과 같습니다.
123 = 3
8423 = 252
4+4 = 8
4*7-10 = 417
9/3 = 3
42-9 = -36
예상되는 출력은 다음 2
과 같습니다 *
.
왜? 2와 *를 바꾸면 모든 방정식이 정확하기 때문에 :
1*3 = 3
84*3 = 252
4+4 = 8
427-10 = 417
9/3 = 3
4*-9 = -36
도전 규칙 :
- 적절한 형식으로 입력 할 수 있습니다. 공백으로 구분 된 단일 문자열 일 수 있습니다. 문자열리스트 또는-배열; 방정식이있는 목록과 올바른 결과가있는 다른 목록. 당신의 전화. 사용한 입력 형식을 말씀해주십시오!
참고 : 또한 테스트 케이스-5--15
를-5- -15
또는 로 입력 할 수 있음을 의미합니다-5 - -15
. 그러나--
공백없이 또는 모든 숫자 사이에 공백이 있는 숫자를 입력해야합니다. 따라서 테스트 사례9119
는9119
또는 처럼 입력 할 수 있습니다9 1 1 9
(이유91 19
는 허용되지 않기 때문에 찾을 공간으로 안내 할 수 있기 때문입니다- -
). 따라서 공백은 (약간) 선택적이고 허용됩니다. - 출력 형식도 모든 합리적인 형식이 될 수 있습니다. 두 문자 일 수 있습니다. 단일 2 문자 스트링; 두 문자를 포함하는 문자열 목록 당신의 전화. 사용한 출력 형식을 다시 말씀해주십시오.
- 에 매핑되는 고유 한 14 개의 출력을 사용할 수 있습니다
0123456789+-*/
. 따라서 원하는 경우 두 개의 고유 한 정수를 출력 할 수도 있습니다 (다시 사용했던 매핑을 지정하십시오). - 정수만 지원하면됩니다. 따라서
1/8=0.125
또는 같은 테스트 사례는 없습니다1/8=0
. - 지원해야하는 산술 피연산자 : 덧셈 (
+
); 빼기 (-
); 곱셈 (*
또는×
또는·
); 나누기 (/
또는÷
). (참고 : 괄호 안의 문자는 설명으로 만 추가됩니다.) - 음수를 지원해야합니다. 이는
-
방정식에서 수학 피연산자 또는 음수 표시기 둘 다로 해석 될 수 있음을 의미 합니다. - 주어진 잘못된 방정식과 올바른 방정식이 항상 유효하다고 가정 할 수 있습니다 (따라서 유사
4-/2
하거나9+-+8
예를 들어 있지 않음 ). - 잘못된 입력 방정식에는 0으로 나누기가 포함될 수 있지만 수정 및 예상 방정식에는 0으로 나누기가 포함되지 않습니다.
- 의도 한 버튼을 다시 바꾸어도 잘못된 입력 방정식이 이미 정확할 수 있습니다.
- 주어진 입력 식 (스왑 등의 버튼에 무관 할 수
4+4=8
와9/3=3
교환 된 버튼 식,2
및*
). - 주어진 테스트 케이스로 가능한 스왑이 항상 하나만 있다고 가정 할 수 있습니다.
- 스왑 할 두 버튼은 항상 잘못된 방정식 중 하나 이상에 나타납니다.
일반적인 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 리턴 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 필요한 경우 설명을 추가하십시오.
테스트 사례 :
Input:
123 = 3
8423 = 252
4+4 = 8
4*7-10 = 417
9/3 = 3
42-9 = -36
Output: 2 *
Input:
4/2 = 6
3/0 = 3
0/8+2 = 4
95-5 = 90
4+2 = 2
Output: + /
Input:
7+4 = 11
5-15 = 46
212-23 = -2121
Output: 1 -
Input:
4+8/2-9*1 = -5
99/3-13 = 20
1+2+3+4 = 10
4-3-2-1 = -6
Output: 2 4
Input:
18/18 = 1
98-8 = 90
55*88 = 4840
-5--15 = 10
Ouput: 5 8
Input:
9119 = 18
5-3 = 513
8*-9 = 152
13116/3 = -1
Output: 1 -
--
. 예를 들면 1991 = 2, -/3 = 3
. (많은 언어들이 이것을 감소 연산자와 혼동합니다.)
91 19
솔루션이 있는 경우 공간을 추가 하고 솔루션에 9--9
공간이없는 경우 테스트 케이스를 작성할 때 솔루션에 대한 지식 9119
이 9229
필요하다는 것입니다. 이것이 허용되면 스왑 된 문자 앞에 공백을 추가하면 솔루션을 즉시 테스트 사례에서 파생 할 수 있습니다.
*
및 /
이전 +
및 바이너리 -
?