이 질문은 긴 전화 회의에 갇혔을 때 내가 좋아하는 게임에 의해 당신에게 가져 왔습니다.
24 시간제 (00 : 00 ~ 23 : 59)에서 두 번 주어진 경우 기본 산술 연산 만 사용하는 사이에 몇 개의 유효한 수학 방정식을 생성 할 수 있습니까?
입력 : 24 시간주기에서 유효한 시간을 나타내는 두 자리 숫자 문자열 (콜론 없음).
예 :
입력 = 0000, 1300
03:26 produces: "0+3*2=6" and "03*2=6" etc.
11:10 produces quite a few, including: "1*1=1+0" and "1=1=1^0" and "1=11^0" etc.
12:24 produces: "1/2=2/4" and "1=(2*2)/4" etc.
유효한 작업은 다음과 같습니다.
- 부가
- 빼기
- 곱셈
- 구분 (부동 소수점)
- 지수화
- 계승
다른 허용 가능한 기호
- 괄호
- 등호
가장 짧은 코드가 승리합니다.
노트
- 목표는 유효한 표현식을 포함 하는 횟수가 아니라 두 번 유효한 표현식 수 를 찾는 것입니다 .
- 입력으로 주어진 두 번 시간 범위에 포함됩니다.
- 가능한 방식으로 숫자를 그룹화 할 수 있으므로 "1223"은 "12 23"또는 "1 2 23"또는 "1 223"등이 될 수 있습니다.
- 필요한만큼 괄호를 사용할 수 있습니다.
- 둘 이상의
=
부호를 사용할 수 있습니다 . 예를 들어, 시간11:11
에는 유효한 표현식이1=1=1=1
있습니다. - 두 번째 시간 이후 처음으로 시간순으로 발생하는 경우 시간 범위는 다음 날로 넘어가는 것처럼 랩핑되어야합니다.
- 숫자는 원래 순서대로 유지해야합니다. 숫자를 다시 정렬 할 수 없습니다.
- 숫자를 군집화 할 때, 0은 절대 가장 앞자리 일 수 있으며,이 경우에는 무시됩니다 ( "03 03"으로 묶인 "0303"은 값이 3 인 두 자리 일뿐입니다.)
- 빼기 부호를 단항 부정으로 사용할 수 없습니다. 따라서 "12:01"은 "1-2 =-(01)"을 생성하지 않지만 "1-2 = 0-1"을 생성합니다.
- 소수점 이하 자릿수를 추가 할 수 없습니다. 따라서 "12:05"는 "1 / 2 = 0.5"를 생성하지 않습니다.
- 계승의 연쇄가 없습니다. 숫자 다음에 최대 하나의 "!"가 올 수 있습니다. 더 이상 그렇지 않으면 여러 번 무한한 해가 생길 것입니다. 예 : "5!" 유효하지만 "5 !!" 유효하지 않습니다.
2
apps.getpebble.com/en_US/application/5309427924c4582908000046
—
Beta Decay
" 유효한 작업 포함 "은 ( 는) 테스트 사례를 추가 할 수없는 것으로 보입니다. " 유효한 작업 "으로 변경하고 일부 테스트 사례를 추가 한 경우 더 좋은 질문 입니다. 또한 엔드 포인트에 대해 정확하게하는 것이 유용 할 것이다 : 입력
—
피터 테일러
0000 1300
방정식으로부터 유도되어야 0000
하고 1300
카운트에 포함?
"1423"숫자가 주어지면 "1 + 4 = 2 + 3", "(1 + 4) = (2 + 3)", "(1 + 4) = 2 + 3"및 "1 + 4 = (2 +3) "는 하나 또는 네 개의 방정식으로 계산됩니까? 그리고 ... "0000"의 모든 방정식은 무엇 입니까? 나는 약 100 가지 가능성, 또는 더 많은 것을 생각합니다.
—
bobbel
단항 연산자 사용에 제한이 있습니까? 규칙에 이러한 제한이 없으면 계승을 반복적으로 적용 할 수 있으므로 완벽한 솔루션이 불가능할 수 있습니다.
—
Michael Stern
마이클, 그거 좋은 관찰입니다. 그래서 퍼즐을 위해서, 나는 그것이 "숫자"당 하나의 계승으로 제한한다고 생각합니다. 따라서 5! 유효하지만 5입니다! 유효하지 않습니다.
—
nobillygreen