Anormal İptal (Wolfram Alpha'dan):
Anormal iptal, a / b fraksiyonunun pay ve paydasında orijinaline eşit bir fraksiyon ile sonuçlanan a ve b basamaklarının "iptal edilmesi" dir. Payda ve paydada bir veya daha fazla basamağın birden fazla ancak farklı sayımı varsa, hangi basamağın iptal edileceği konusunda belirsizliğin olduğunu, bu nedenle bu gibi durumları dikkate almanın en basit olduğunu unutmayın. bağlantı
Basit bir deyişle, bir kesiriniz olduğunu varsayalım a / b
. c / d
Orijinal ( a / b = c / d
) değerine eşit başka bir kesir oluşturmak için kesirdeki rakamları iptal edebiliyorsanız, kesiri basitleştirmek için anormal iptal kullanılabilir.
a/b
Zorluğunuz , formda bir kesir dizesi giren ve kesir anormal iptal ile basitleştirilebiliyorsa ve doğruluk değeri veren bir program veya işlev yapmaktır. a
ve b
her zaman sıfırdan farklı pozitif tamsayılar olacaktır. a
ve b
her zaman iki veya daha fazla hane olacaktır. Ayrıca, birinden tüm basamakları a
veya b
(Sen girdi almak alışkanlık iptal edilmeyecektir 12/21
en az bir basamak gelen) a
ve b
her seferinde (Sen girdi almak alışkanlık iptal edilecektir 43/21
) ve nihai sonuç asla 0
biri için a
veya b
. Programınız a
ve arasındaki tüm ortak basamakları iptal etmelidir b
(ör.1231/1234
, a 1
, a 2
ve a 3
) öğelerini iptal etmeniz gerekir . İptal için birden fazla olasılık varsa, önce en soldaki rakamı seçin (515/25, 51/2 yerine 15/2 olur).
Örnekler:
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.
Bu kod golf , bayt en kısa kod kazanır!