ในปัญหานี้ เราได้รับ จำนวนตรรกยะ . งานของเราคือ หาจำนวนตรรกยะสูงสุดสองตัว
ในที่นี้ จำนวนตรรกยะอยู่ในรูป p/q
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
ป้อนข้อมูล: rat1 =5/4, rat2 =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