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.
fuente
Respuestas:
Pyth,
2219 bytes¡Gracias a @isaacg por tres bytes!
Explicación:
Pruébalo aquí .
fuente
m.-Fd
se puede jugar al golf.-M
. Del mismo modo,mcFsMd
se puede jugar al golfcMsMM
..-FM
no funcionó. EntoncesM
, ¿ los símbolos automáticamente en funciones no monádicas?𝔼𝕊𝕄𝕚𝕟, 17 caracteres / 34 bytes
Try it here (Firefox only).
Explicación
fuente
Ruby,
9576 bytesExplicación
Muchas gracias a Doorknob por jugar al golf con 19 bytes de descuento.
fuente
TeaScript, 22 bytes
Ahora que todos los errores están solucionados en TeaScript 3, esto funciona muy bien
Pruébalo en línea
Banco de pruebas
fuente
E is not defined
.MATL , 35 bytes
Ejemplos
Explicación
fuente
Javascript ES6, 73 bytes
fuente