欧几里得算法,辗转相除法,能很快求得最大公约数
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 }
时间: 2024-10-13 16:04:26