Аномальне скасування (від 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.
Це код-гольф , тому найкоротший код у байтах виграє!