Pembatalan Anomali (dari Wolfram Alpha):
Pembatalan anomali adalah "pembatalan" digit a dan b dalam pembilang dan penyebut dari fraksi a / b yang menghasilkan pecahan sama dengan yang asli. Perhatikan bahwa jika ada banyak tetapi berbeda hitungan satu digit atau lebih dalam pembilang dan penyebut ada ambiguitas tentang digit mana yang harus dibatalkan, sehingga paling sederhana untuk mengecualikan kasus tersebut dari pertimbangan. Tautan
Secara sederhana, katakanlah Anda memiliki sebagian kecil a / b
. Jika Anda dapat membatalkan digit dalam fraksi untuk membuat fraksi lain c / d
yang sama dengan yang asli ( a / b = c / d
), pembatalan anomali dapat digunakan untuk menyederhanakan fraksi.
Tantangan Anda adalah membuat program atau fungsi yang memasukkan string fraksi dalam bentuk a/b
dan menghasilkan atau mengembalikan nilai kebenaran jika fraksi dapat disederhanakan menggunakan pembatalan anomali, dan nilai palsu sebaliknya. a
dan b
akan selalu menjadi bilangan bulat positif bukan nol. a
dan b
akan selalu memiliki dua digit atau lebih. Juga, semua digit dari salah satu a
atau b
tidak akan dibatalkan (Anda tidak akan mendapatkan input 12/21
), setidaknya satu digit dari a
dan b
akan dibatalkan setiap kali (Anda tidak akan mendapatkan input 43/21
), dan hasil akhirnya tidak akan pernah 0
baik untuk a
atau b
. Program Anda harus membatalkan semua digit umum antara a
dan b
(mis. Dalam1231/1234
, Anda harus membatalkan a 1
, a 2
, dan a 3
). Jika ada beberapa kemungkinan pembatalan, pilih digit paling kiri terlebih dulu (515/25 menjadi 15/2 bukan 51/2).
Contoh:
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.
Ini adalah kode-golf , jadi kode terpendek dalam byte menang!