找到 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP