- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Find LCM of rational number in C++
Here we will see how to find the LCM of Rational numbers. We have a list of rational numbers. Suppose the list is like {2/7, 3/14, 5/3}, then the LCM will be 30/1.
To solve this problem, we have to calculate LCM of all numerators, then gcd of all denominators, then the LCM of rational numbers, will be like −
$$LCM =\frac{LCM\:of\:all\:𝑛𝑢𝑚𝑒𝑟𝑎𝑡𝑜𝑟𝑠}{GCD\:of\:all\:𝑑𝑒𝑛𝑜𝑚𝑖𝑛𝑎𝑡𝑜𝑟𝑠}$$
Example
#include <iostream> #include <vector> #include <algorithm> using namespace std; int LCM(int a, int b) { return (a * b) / (__gcd(a, b)); } int numeratorLCM(vector<pair<int, int> > vect) { int result = vect[0].first; for (int i = 1; i < vect.size(); i++) result = LCM(vect[i].first, result); return result; } int denominatorGCD(vector<pair<int, int> >vect) { int res = vect[0].second; for (int i = 1; i < vect.size(); i++) res = __gcd(vect[i].second, res); return res; } void rationalLCM(vector<pair<int, int> > vect) { cout << numeratorLCM(vect) << "/"<< denominatorGCD(vect); } int main() { vector<pair<int, int> > vect; vect.push_back(make_pair(2, 7)); vect.push_back(make_pair(3, 14)); vect.push_back(make_pair(5, 3)); cout << "LCM of rational numbers: "; rationalLCM(vect); }
Output
LCM of rational numbers: 30/1
Advertisements
To Continue Learning Please Login
Login with Google