1.求两个数的最大公约数
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
2.求两个数的最小公倍数
int lcm(int a, int b){
return a*b/gcd(a,b);
}
3.n个数的最大公约数
int ngcd(vector<int>& v){
int res=0;
for(auto i:v){
res=gcd(res,i);
}
return res;
}
4.n个数的最小公倍数
int lcm(vector<int>& v){
int res=v[0];
for(int i=1;i<v.size();++i){
res=res*v[i]/gcd(res,v[i]);
}
return res;
}