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