求gcd
设d|a,且d|b,那么a=dk1,b=dk2,b%a=b-k3a=[k2-(k3k1)]*d同样被d整除
那么gcd(a,b)=gcd(b,b%a);
所以:

LL gcd(LL a, LL b){
  return b==0 ? a : gcd(b,a%b);
}