Аномальне скасування (від 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, а 2та а 3). Якщо є кілька можливостей для скасування, виберіть спочатку ліву цифру (515/25 стає 15/2, а не 51/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.
Це код-гольф , тому найкоротший код у байтах виграє!