Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm giá trị lớn nhất của hai số hữu tỉ trong C ++

Trong bài toán này, chúng tôi được cung cấp hai Số hợp lý . Nhiệm vụ của chúng ta là tìm giá trị lớn nhất của hai số hữu tỉ.

Ở đây, các số hữu tỉ có dạng p / q.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào: rat1 =5/4, rat2 =3/2

Đầu ra: 3/2

Giải thích:

5/4 =1,25
3/2 =1,5

Phương pháp tiếp cận giải pháp -

Một giải pháp đơn giản cho vấn đề là sử dụng một phương pháp tương tự như phương pháp mà chúng tôi đã từng thực hiện ở trường.

Đối với điều này, chúng tôi sẽ tìm thấy L.C.M của mẫu số. Và sau đó nhân tử số dựa trên giá trị của mẫu số. Khi đó, đối với mẫu số chung, số hữu tỉ có giá trị tử số lớn nhất là số lớn nhất.

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#include <bits/stdc++.h>
using namespace std;

int findLCM(int a, int b) {

   return (a * b) / (__gcd(a, b));
}

void maxRational(int ratOneNum, int ratOneDen, int ratTwoNum, int ratTwoDen) {

   int k = findLCM(ratOneDen, ratTwoDen);

   int oneNum = ratOneNum * k / (ratOneDen);
   int twoNum = ratTwoNum * k / (ratTwoDen);

   if(oneNum > twoNum)
      cout<<ratOneNum<<"/"<<ratOneDen;
   else
      cout<<ratTwoNum<<"/"<<ratTwoDen;
   
}

int main() {
   
   int ratOneNum = 5;
   int ratOneDen = 4;
   int ratTwoNum = 3;
   int ratTwoDen = 2;
   cout<<"The maximum of the two rational Numbers is ";
   maxRational(ratOneNum, ratOneDen, ratTwoNum, ratTwoDen);
   return 0;
}

Đầu ra

The maximum of the two rational Numbers is 3/2