基本原理:
设两数为a、b(a≥b),求a和b最大公约数 (a,b)的步骤如下:
   (1)用a除以b(a≥b),得    a/b = p...r1 (r1>=0);  
     (2)若r1 = 0,则(a,b) = r1;若r1 != 0,则再用b除以r1,得   b/r1 = q...r2 (r2>=0);
  
     (3)若   r2 = 0,,则   (a,b) = r1;若   r2 != 0,则继续用   r1除以   r2,......,如此下去,直到能整除为止。  
  其最后一个余数为0的除数即为(a,b)的最大公约数。代码:
int gcd (int a,int b) //默认a>b
{
if(b == 0)
return a;
else
return gcd(b,a%b);
}

京公网安备 11010502036488号