Cancelación anómala (de Wolfram Alpha):
La cancelación anómala es una "cancelación" de dígitos de a y b en el numerador y denominador de una fracción a / b que da como resultado una fracción igual al original. Tenga en cuenta que si hay recuentos múltiples pero diferentes de uno o más dígitos en el numerador y el denominador, existe ambigüedad sobre qué dígitos cancelar, por lo que es más sencillo excluir tales casos de la consideración. Enlace
En términos simples, digamos que tienes una fracción a / b. Si puede cancelar los dígitos de la fracción para crear otra fracción c / dque sea igual al original ( a / b = c / d), se puede utilizar la cancelación anómala para simplificar la fracción.
Su desafío es crear un programa o función que ingrese una cadena de fracción en el formulario a/by genere o devuelva un valor verdadero si la fracción se puede simplificar utilizando una cancelación anómala y un valor falso de lo contrario. ay bsiempre serán enteros positivos distintos de cero. ay bsiempre tendrá dos o más dígitos. Además, todos los dígitos de cualquiera ao bno se cancelarán (no obtendrá la entrada 12/21), al menos un dígito de ay bse cancelarán cada vez (no obtendrá la entrada 43/21), y el resultado final nunca será 0para ninguno ao b. Su programa debe cancelar todos los dígitos comunes entre ay b(es decir, en1231/1234, debe cancelar a 1, a 2y a 3). Si hay múltiples posibilidades de cancelación, elija primero el dígito más a la izquierda (515/25 se convierte en 15/2, no en 51/2).
Ejemplos:
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.
Este es el código de golf , por lo que gana el código más corto en bytes.