متن سوال این است:
برنامه ای بنویسید که بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک بین دو عدد را در خروجی چاپ کند.
کد به زبان ++C است.
متن سوال این است:
برنامه ای بنویسید که بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک بین دو عدد را در خروجی چاپ کند.
کد به زبان ++C است.
این یکی از سوالاتی هست که از دانشجوها زیاد پرسیده میشه به همین دلیل تصمیم گرفتم این پست رو ایجاد کنم و نمونه کد کامل رو قرار بدم تا دوستان استفاده کنن.
مقسوم علیههای مشترک چند عدد، مقسوم علیهها یا عواملی هستند که در هر دو عدد مشترک باشند. بزرگترین مقسوم علیه مشترک نیز بزرگترین عدد بین مقسوم علیههای مشترک دو عدد است.
برای مثال بزرگترین مقسوم علیه مشترک بین ۱۲ و ۳۰ عدد ۶ است.
سادهترین راه برای محاسبه کوچکترین مضرب مشترک، نوشتن مضارب مشترک و انتخاب کوچکترین آنها است. ک م م – کوچکترین مضربی است که بین اعداد مورد نظر مشترک باشد. مثلاً برای اعداد ۴ و ۵ ، اگر بخواهیم کوچکترین مضرب مشترک را از بین مضارب مشترک ۲0، 40، 60 و… تعیین کنیم، عدد 20 را در نظر میگیریم که از همه مضارب مشترک کوچکتر است.
کد کامل:
#include<iostream>
using namespace std;
int gcd(int m, int n) {
int r = 0, a, b;
a = (m > n) ? m : n;
b = (m < n) ? m : n;
r = b;
while (a % b != 0) {
r = a % b;
a = b;
b = r;
}
return r;
}
int lcm(int m, int n) {
int a;
a = (m > n) ? m: n;
while (true) {
if (a % m == 0 && a % n == 0)
return a;
++a;
}
}
int main(int argc, char **argv) {
cout << "Enter the two numbers: ";
int m, n;
cin >> m >> n;
cout << "The GCD of two numbers is: " << gcd(m, n) << endl;
cout << "The LCM of two numbers is: " << lcm(m, n) << endl;
return 0;
}
خروجی:
Enter the two numbers:
7
6
The GCD of two numbers is: 1
The LCM of two numbers is: 42
GCD= بزرگترین مقسوم علیه مشترک
LCM= کوچکترین مضرب مشترک
ندونستن عیب نیست، نپرسیدن چرا!