592. Penambahan dan Penolakan Pecahan
Kesukaran:Sederhana
Topik:Matematik, Rentetan, Simulasi
Diberi ungkapan rentetan yang mewakili ungkapan penambahan dan penolakan pecahan, kembalikan hasil pengiraan dalam format rentetan.
Hasil akhir mestilah pecahan yang tidak boleh dikurangkan. Jika keputusan akhir andaialah integer, tukarkannya kepada format pecahan yang mempunyai penyebut 1. Jadi dalam kes ini, 2 hendaklah ditukar kepada 2/1.
Contoh 1:
- Input:ungkapan = "-1/2+1/2"
- Output:"0/1"
Contoh 2:
- Input:ungkapan = "-1/2+1/2+1/3"
- Output:"1/3"
Contoh 3:
- Input:ungkapan = "1/3-1/2"
- Output:"-1/6"
Kekangan:
- Rentetan input hanya mengandungi '0' hingga '9', '/', '+' dan '-'. Begitu juga dengan output.
- Setiap pecahan (input dan output) mempunyai format ±pembilang/penyebut. Jika pecahan input pertama atau output adalah positif, maka '+' akan diabaikan.
- Input hanya mengandungipecahan tidak boleh dikurangkanyang sah, di manapembilangdanpenyebutsetiap pecahan akan sentiasa berada dalam julat [1, 10]. Jika penyebutnya ialah 1, ini bermakna pecahan ini sebenarnya adalah integer dalam format pecahan yang ditakrifkan di atas.
- Bilangan pecahan yang diberikan akan berada dalam julat [1, 10].
- Pengbilang dan penyebuthasil akhirdijamin sah dan dalam julat32-bitint.
Penyelesaian:
Kita perlu menghuraikan rentetan input dengan teliti dan melakukan operasi aritmetik pada pecahan. Langkah-langkahnya adalah seperti berikut:
- Menghuraikan Ungkapan Input: Ekstrak pecahan individu daripada rentetan ungkapan.
- Kira Keputusan: Tambah atau tolak pecahan langkah demi langkah.
- Permudahkan Keputusan: Tukarkan pecahan akhir kepada bentuk tidak boleh dikurangkan.
Mari kita laksanakan penyelesaian ini dalam PHP:592. Penambahan dan Penolakan Pecahan
Penjelasan:
- fungsi gcd: Mengira pembahagi sepunya terbesar bagi dua nombor, yang membantu dalam memudahkan pecahan.
- fungsi tambahFractions: Menambah dua pecahan. Ia mengira penyebut biasa, melaraskan pengangka dengan sewajarnya, menambahnya, dan kemudian memudahkan pecahan yang terhasil.
- Fungsi Penambahan pecahan: Ini ialah fungsi utama yang menghuraikan ungkapan input, menggunakan ungkapan biasa untuk mengekstrak semua pecahan dan menambahnya secara berulang menggunakan fungsi addFractions.
Kes Ujian:
- fractionAddition("-1/2+1/2") mengembalikan "0/1".
- fractionAddition("-1/2+1/2+1/3") mengembalikan "1/3".
- fractionAddition("1/3-1/2") mengembalikan "-1/6".
Penyelesaian ini mengendalikan semua operasi yang diperlukan dan mengembalikan output yang betul untuk setiap ungkapan yang diberikan.
Hubungi Pautan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberirepositoribintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna buat saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci . Penambahan dan Penolakan Pecahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!