我们都知道欧几里得算法是用来快速求两个数的最大公约数的算法,效率较高:2O(logn)。
我们先给出算法的实现:
1 int gcd_1(int a, int b) 2 { 3 if(b==0) return a; 4 return gcd_1(b, a%b); 5 } 6 7 int gcd_2(int a, int b) 8 { 9 while(b) 10 { 11 int r = a%b; 12 a = b; 13 b = r; 14 } 15 return a; 16 }
我们都知道欧几里得算法是用来快速求两个数的最大公约数的算法,效率较高:2O(logn)。
我们先给出算法的实现:
1 int gcd_1(int a, int b) 2 { 3 if(b==0) return a; 4 return gcd_1(b, a%b); 5 } 6 7 int gcd_2(int a, int b) 8 { 9 while(b) 10 { 11 int r = a%b; 12 a = b; 13 b = r; 14 } 15 return a; 16 }
相关文章: