변칙적 해소 (Wolfram Alpha) :
변칙적 소거는 분자에서 a와 b의 숫자의 "취소"와 분수 a / b의 분모로, 원래와 같은 분수가됩니다. 분자와 분모에 하나 이상의 자릿수가 여러 개 있지만 다른 숫자가있는 경우 취소 할 자릿수가 모호하므로 이러한 경우를 고려에서 제외하는 것이 가장 간단합니다. 링크
간단히 말해서 분수가 있다고 가정 해보십시오 a / b
. 분수의 숫자를 취소 c / d
하여 원래 ( a / b = c / d
)와 같은 다른 분수를 만들 수있는 경우 예외를 취소하기 위해 예외 취소를 사용할 수 있습니다.
문제는 a/b
비정상적인 취소를 사용하여 분수를 단순화 할 수 있으면 분수 문자열을 형식으로 입력하고 분수 값을 출력하거나 참 값을 반환 하는 프로그램이나 함수를 만드는 것 입니다. a
그리고 b
항상있을 것입니다 양의 정수를 비 제로. a
그리고 b
항상 두 개 이상의 숫자를해야합니다. 또한, 하나에서 모든 숫자 a
또는은 b
(당신은 입력을받을 실 거예요 상쇄되지 않습니다 12/21
적어도 하나 개의 자리에서,) a
와 b
각 시간 (당신은 입력을받을 실 거예요 취소됩니다 43/21
), 그리고 최종 결과는 없을 것 0
중 하나에 대한 a
또는 b
. 귀하의 프로그램 사이의 모든 일반적인 숫자 밖으로 취소해야 a
하고 b
(예. 인을1231/1234
, 1
a 2
및 a 3
)를 취소해야합니다 . 취소 가능성이 여러 개인 경우 가장 왼쪽 숫자를 먼저 선택하십시오 (515/25는 51/2가 아닌 15/2가 됨).
예 :
Input Output Why
1019/5095 true Remove the 0 and the 9 from both sides of the fraction to get 11/55, which is equivalent.
16/64 true Remove the 6 from both sides, and get 1/4.
14/456 false Remove the 4s. 14/456 is not equal to 1/56.
1234/4329 false Remove the 2s, 3s, and 4s. 1234/4329 is not equal to 1/9.
515/25 false Remove the first 5 from each side. 15/2 is not equal to 515/25.
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다!