找到 C++ 中两个有理数中的最大值
本题给定两个有理数。我们的任务是找出两个有理数中的最大值。
这里,有理数的形式为 p/q。
我们举一个例子来理解这个问题:
输入:rat1 = 5/4,rat2 = 3/2
输出:3/2
解释:
5/4 = 1.25
3/2 = 1.5
解决方案方法——
解决此问题的简单方法是使用类似于我们学校使用的术语。
为此,我们将找到分母的最小公倍数。然后,根据分母值乘以分子。然后对于公分母,分子值最大的有理数就是最大的。
演示我们解决方案原理的程序:
示例
#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
广告