摘要: 昨晚看了一点点的数论,是一个直线上的点的例题,正好用到了欧几里德算法。于是就网搜了一下,做一些笔记,以后好留着自己看。欧几里德算法其实就是求两个整数的最大公约数的算法,gcd函数应该都知道,gcd(a,b)就是求a,b的最大公约数。根据最大公约数的性质:gcd(a,b) = gcd(b,a) = gcd(b,a%b);也就是我们熟悉的辗转相除法,辗转相除的代码View Code //非递归实现int gcd(int a,int b){if(a < b) swap(a,b);while(b){int temp = b;b = a % b;a = t;}return a;}//递归实现int 阅读全文
posted @ 2012-04-12 13:42 AC_Girl 阅读(316) 评论(3) 推荐(1) 编辑