实现思想
最大公约数:辗转相除法
最小公倍数:两个数的乘积再除最大公约数
C++ 实现
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
// 辗转相除法求最大公约数
// 1.将较大的数放在a上
// 2.辗转相除
int gcd(int a , int b)
{
int temp;
if(a<b)
{
temp = a;
a = b;
b = temp;
}
while(b!=0)
{
temp = a%b;
a = b;
b = temp;
}
return a;
}
// 最小公倍数
// 两个数的最小公倍数就是两个数的乘积除最大公约数
int lcm(int a, int b)
{
int gcd_result = gcd(a,b);
return (a*b)/gcd_result;
}
int main(int argc, char** argv) {
cout<<"最大公约数"<<endl;
cout<<gcd(5,10)<<endl;
cout<<"最小公倍数"<<endl;
cout<<lcm(5,10);
return 0;
}