. Penambahan dan Penolakan Pecahan

王林
Lepaskan: 2024-08-24 06:40:41
asal
330 orang telah melayarinya

. Fraction Addition and Subtraction

592. Penambahan dan Penolakan Pecahan

Kesukaran: Sederhana

Topik: Matematik, Rentetan, Simulasi

Memandangkan ungkapan rentetan yang mewakili ungkapan penambahan dan penolakan pecahan, kembalikan hasil pengiraan dalam format rentetan.

Hasil akhir mestilah pecahan yang tidak boleh dikurangkan. Jika hasil akhir anda adalah 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 ditinggalkan.
  • Input hanya mengandungi pecahan tak boleh dikurangkan yang sah, dengan pembilang dan penyebut setiap 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 penyebut hasil akhir dijamin sah dan dalam julat 32-bit int.

Penyelesaian:

Kita perlu menghuraikan rentetan input dengan teliti dan melakukan operasi aritmetik pada pecahan. Langkah-langkahnya adalah seperti berikut:

  1. Menghuraikan Ungkapan Input: Ekstrak pecahan individu daripada rentetan ungkapan.
  2. Kira Keputusan: Tambah atau tolak pecahan langkah demi langkah.
  3. Ringkaskan Keputusan: Tukarkan pecahan akhir kepada bentuk tidak boleh dikurangkan.

Mari laksanakan penyelesaian ini dalam PHP: 592. Penambahan dan Penolakan Pecahan

<?php
// Example usage
echo fractionAddition("-1/2+1/2"); // Output: "0/1"
echo "\n";
echo fractionAddition("-1/2+1/2+1/3"); // Output: "1/3"
echo "\n";
echo fractionAddition("1/3-1/2"); // Output: "-1/6"
?>
Salin selepas log masuk

Penjelasan:

  • fungsi gcd: Mengira pembahagi sepunya terbesar bagi dua nombor, yang membantu dalam memudahkan pecahan.
  • fungsi addFractions: 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.

Pautan Kenalan

Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!

Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci . Penambahan dan Penolakan Pecahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan