Kod C++ yang mengurangkan pecahan kepada bentuk termudahnya

王林
Lepaskan: 2023-09-05 19:37:06
ke hadapan
1842 orang telah melayarinya

Kod C++ yang mengurangkan pecahan kepada bentuk termudahnya

Diberi dua integer Num1 dan Num2 sebagai input. Kedua-dua integer ini boleh diwakili sebagai pecahan Num1/Num2. Matlamatnya adalah untuk mengurangkan pecahan ini kepada bentuk yang paling mudah.

Cari penyebut terhebat menggunakan Pembahagi Sepunya Terhebat (GCD)

  • Kami akan mengira GCD bagi dua nombor ini.

  • Bahagikan kedua-dua nombor dengan pembahagi sepunya terbesar mereka.

  • Tetapkan dua pembolehubah ini kepada hasil bahagi selepas pembahagian.

  • Pecahan termudah ialah Num1/Num2. .

    - 22 dan 10 maksimum The pembahagi biasa ialah 2.
22/2=11, 10/2=5

Pecahan termudah ialah 11/5

Input

- Num1=36 Num2=40

Keluaran 11/5

Input

- Num1=36 Num2=40

Output

9

Num1 = 10

1 = 10

Markahnya ialah: 9/10

Penjelasan

- Pembahagi sepunya terbesar bagi 36 dan 40 ialah 4.

40/4=10, 36/4=9

Pecahan termudah ialah 9/10

Kaedah yang digunakan dalam atur cara di bawah adalah seperti berikut

Dalam kaedah ini, kita mula-mula menggunakan kaedah rekursif untuk mengira yang terbesar. pembahagi sepunya bagi nombor input . Bahagikan dua nombor dengan pembahagi sepunya terbesar mereka dan dapatkan hasil bahagi, yang akan menjadi sebahagian daripada pecahan termudah.

Dapatkan pembolehubah input Num1 dan Num2.

Fungsi findGCD(int a, int b) menerima num1 dan num2 dan mengembalikan pembahagi sepunya yang paling besar daripada kedua-duanya.

  • Jika b ialah 0, kembalikan a, jika tidak, kembalikan findGCD(b,a%b).

  • Fungsi lowestFraction(int num1, int num2) menerima dua nombor sebagai input dan mencetak pecahan termudah.

  • Gunakan denom pembolehubah untuk mewakili pembahagi sepunya terbesar.

  • Tetapkan num1=num1/denom dan num2=num2/denom.

  • Cetak nombor1 dan nombor2.

  • Cetak pecahan termudah sebagai num1/num2.

  • Contoh

    #include <bits/stdc++.h>
    using namespace std;
    int findGCD(int a, int b) {
       if (b == 0)
          return a;
          return findGCD(b, a % b);
       }
       void lowestFraction(int num1, int num2){
          int denom;
          denom = findGCD(num1,num2);
          num1/=denom;
          num2/=denom;
          cout<< "Num1 = " << num1<<endl;
          cout<< "Num2 = " << num2<<endl;
          cout<< "Lowest Fraction : "<<num1<<"/"<<num2;
    }
    int main(){
       int Num1 = 14;
       int Num2 = 8;
       lowestFraction(Num1,Num2);
       return 0;
    }
    Salin selepas log masuk

    Output
  • Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut

    Num1 = 7
    Num2 = 4
    Lowest Fraction : 7/4
    Salin selepas log masuk

Atas ialah kandungan terperinci Kod C++ yang mengurangkan pecahan kepada bentuk termudahnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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