Annullamento anomalo (da Wolfram Alpha):
La cancellazione anomala è una "cancellazione" delle cifre di a e b nel numeratore e denominatore di una frazione a / b che risulta in una frazione uguale all'originale. Si noti che se ci sono conteggi multipli ma diversi di una o più cifre nel numeratore e nel denominatore, vi è ambiguità su quali cifre annullare, quindi è più semplice escludere tali casi dalla considerazione. collegamento
In termini semplici, supponiamo che tu abbia una frazione a / b. Se è possibile annullare le cifre nella frazione per creare un'altra frazione c / duguale all'originale ( a / b = c / d), è possibile utilizzare la cancellazione anomala per semplificare la frazione.
La tua sfida è quella di creare un programma o una funzione che inserisca una stringa di frazione nel modulo a/be produca o restituisca un valore di verità se la frazione può essere semplificata usando una cancellazione anomala e un valore di falsa in caso contrario. ae bsaranno sempre numeri interi diversi da zero. ae bavrà sempre due o più cifre. Inoltre, tutte le cifre da uno dei due ao bnon verranno cancellate (Non riceverai l'input 12/21), almeno una cifra da ae bverrà cancellata ogni volta (Non otterrai l'input 43/21), e il risultato finale non sarà mai 0per ao b. Il tuo programma deve cancellare tutte le cifre comuni tra ae b(es. In1231/1234, è necessario annullare a 1, a 2e a 3). Se esistono più possibilità di cancellazione, selezionare prima la cifra più a sinistra (515/25 diventa 15/2 e non 51/2).
Esempi:
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.
Questo è code-golf , quindi vince il codice più breve in byte!