找到 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