(一)最大公约数 gcd(a,b)
1、几何意义:两整点连线上的整点个数
2、两个或多个整数的共有约数中最大的一个
3、一条斜线段最多可分出多少个斜边,使平行与坐标轴的直角边为整数,
即最多分出多少个整直角边三角形
方法:辗转相除法:1)a = b * p + q then gcd(b,q) | gcd(a,b)
2) q = a - b * p then gcd(a,b) | gcd(b,q)
then gcd(a,b) == gcd(b,q) == gcd(b,a%b)
int gcd(int a,int b)
{
if(b == 0) return a;
return gcd(b, a % b);
}