标签:turn 最大 == 版本 算法 递归算法 cti color style
辗转相除法(欧几里得算法)是求最大公约数的算法,首先用较大的数除以较小的数,求得商与余数,把余数作为除数,即用原来的除数除以余数,求得商与余数。以此类推,直到余数为零时,除数即为原来两数的最大公约数。
一.递归算法
1 function gcd(a, b) 2 if a<b 3 swap(a,b); //交换a,b的值 4 if b==0 5 then return a; 6 else 7 return gcd(b, a mod b); //mod函数为求余函数相当于% 8 end
二.循环版本
1 function gcd(a,b) 2 if a<b 3 then swap(a,b); 4 while(b!=0) 5 { 6 c = a mod b; 7 a = b; 8 b = c; 9 } 10 return a; 11 end
标签:turn 最大 == 版本 算法 递归算法 cti color style
原文地址:http://www.cnblogs.com/bearkid/p/7113593.html