gcd和lcm

2024-08-05T23:10:00

gcd:最大公约数
lcm:最小公倍数

2个数a,b的gcd、lcm:
GCD2=__gcd(a,b)
LCM2=a*b/GCD

3个数a,b,c的gcd、lcm:
GCD3=__gcd(GCD2,c)
LCM3=LCM2*c/GCD3

代码实现:

#include <iostream>
using namespace std;
// 求最大公约数
int GCD(int a, int b) {
 if (b == 0) {
 return a;
 } else {
 return GCD(b, a % b);
 }
}
// 求最小公倍数
int LCM(int a, int b) {
 return a * b / GCD(a, b);
}
int main() {
 int a, b, c;
 cout << "请输入三个整数:" << endl;
 cin >> a >> b >> c;
 
 int gcd = GCD(GCD(a, b), c);
 int lcm = LCM(LCM(a, b), c);
 
 cout << "最大公约数:" << gcd << endl;
 cout << "最小公倍数:" << lcm << endl;
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »