Аномальное аннулирование (от 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
, вы должны отменить a 1
, a 2
и a 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.
Это код-гольф , поэтому выигрывает самый короткий код в байтах!
источник
Ответы:
Pyth,
2219 байтСпасибо @isaacg за три байта!
Объяснение:
Попробуй это здесь .
источник
m.-Fd
можно в гольф.-M
. Точно так жеmcFsMd
можно играть в гольфcMsMM
..-FM
не работает. ТакM
автоматически всплывает на немонадных функциях?𝔼𝕊𝕄𝕚𝕟, 17 символов / 34 байта
Try it here (Firefox only).
объяснение
источник
Рубин,
9576 байтобъяснение
Огромное спасибо Doorknob за игру в гольф на 19 байтов.
источник
TeaScript, 22 байта
Теперь, когда все ошибки исправлены в TeaScript 3, это прекрасно работает
Попробуйте онлайн
Тестирование
источник
E is not defined
.MATL , 35 байт
Примеры
объяснение
источник
Javascript ES6, 73 байта
источник