GCD:最大公约数
LCM:最小公倍数
gcd(x,y)即求x与y的最大公约数;lcm(x,y)即求x与y的最小公倍数
且有式子:a*b = gcd(a,b) * lcm(a,b);因此我们可以先求gcd然后由公式求出lcm.(最好写成lcm = a / gcd * b)
#include<cstdio>
int gcd(int a,int b) {
return !b?a:gcd(b,a%b);
}
int lcm(int a,int b){
return a/gcd(a,b)*b; //由gcd求出
}
int main() {
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",gcd(a,b));
printf("%d\n",lcm(a,b));
return 0;
}