最大公约数数问题

欧几里得算法,辗转相除法,能很快求得最大公约数

f(20,15)=f(15,5)=f(5,0)=5

 1 #include <stdio.h>

 2 #include <stdlib.h>

 3 //最大公约数

 4 int gcd(int x,int y)

 5 {

 6     if(x<y)

 7         return gcd(y,x);

 8     if(y==0)

 9         return x;

10     else

11         return gcd(y,x%y);

12 

13 }

14 

15 int main()

16 {

17     int x=10,y=20;

18     printf("%d  %d   最大公约数%d\n",x,y,gcd(x,y));

19     return 0;

20 }

 

你可能感兴趣的:(问题)