思路:一个自然数的约数最大最小分别是1和本身,所有自然数的最小公约数都是1,两个数之间的最大公约数肯定在最小的数的公约数中获取
- 时间复杂度 1次循环最小自然数
- 空间复杂度 1个常量
if(a==1 || b==1)
return 1;
if(a==b)
return a;
int max=1;
int min=a>b?b:a;
for (int i=2;i<min+1;i++){
if(b%i==0&&a%i==0)
max=i;
}
return max;