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 / d
que 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/b
y 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. a
y b
siempre serán enteros positivos distintos de cero. a
y b
siempre tendrá dos o más dígitos. Además, todos los dígitos de cualquiera a
o b
no se cancelarán (no obtendrá la entrada 12/21
), al menos un dígito de a
y b
se cancelarán cada vez (no obtendrá la entrada 43/21
), y el resultado final nunca será 0
para ninguno a
o b
. Su programa debe cancelar todos los dígitos comunes entre a
y b
(es decir, en1231/1234
, debe cancelar a 1
, a 2
y 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.