[codeup 1818最大公约数]
题目:
求最大公约数与最小公倍数
CODE
#include <cstdio>int gcd(int a,int b){if(b==0)return a;return gcd(b,a%b);
}int lcm(int gcd,int a,int b){return (a/gcd)*b;
}int main(){int a,b;scanf("%d %d",&a,&b);int ret_gcd=gcd(a,b);printf("%d %d\n",ret_gcd,lcm(ret_gcd,a,b));return 0;
}
注意:
1)注意辗转相除法得最大公约数
2)a*b/gcd为最小公倍数,若为防止溢出使用(a/gcd)*b