Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kod C++ yang mengurangkan pecahan kepada bentuk termudahnya

Kod C++ yang mengurangkan pecahan kepada bentuk termudahnya

王林
王林ke hadapan
2023-09-05 19:37:061810semak imbas

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;
    }

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

    Num1 = 7
    Num2 = 4
    Lowest Fraction : 7/4

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Artikel berkaitan

Lihat lagi