Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 최대 두 개의 Rational 숫자 찾기

<시간/>

이 문제에서는 두 개의 유리수가 주어집니다. . 우리의 임무는 최대 2개의 유리수를 찾는 것입니다.

여기서 유리수는 p/q 형식입니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력: 쥐1 =5/4, 쥐2 =3/2

출력: 3/2

설명:

5/4 =1.25
3/2 =1.5

해결 방법 -

문제에 대한 간단한 해결책은 학교에서 수행했던 것과 유사한 방법을 사용하는 것입니다.

이를 위해 L.C.M 분모의. 그런 다음 분모 값을 기준으로 분자를 곱합니다. 그러면 공통분모는 분자값이 최대인 유리수가 최대값이 됩니다.

우리 솔루션의 작동을 설명하는 프로그램,

예시

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

출력

The maximum of the two rational Numbers is 3/2