这也应该是一个数学问题,而且解法是公元前300年左右欧几里德提出来的——辗转相除法。
解法一是这个算法的完整实现。解法二在两个数相差不大的时候比较好用,因为用减法收敛得会比较快。解法三基本是为二进制计算机考虑的,主要利用了移位操作。
看完这节后,再求最大公约数,就不用for循环遍历所有可能了。完全是质的飞跃。
这也应该是一个数学问题,而且解法是公元前300年左右欧几里德提出来的——辗转相除法。
解法一是这个算法的完整实现。解法二在两个数相差不大的时候比较好用,因为用减法收敛得会比较快。解法三基本是为二进制计算机考虑的,主要利用了移位操作。
看完这节后,再求最大公约数,就不用for循环遍历所有可能了。完全是质的飞跃。