CompilerTech

导航

2011年4月14日

欧几里德算法

摘要: 欧几里得算法的概述欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) (a>b 且a mod b 不为0) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d也是(b,a mod b)的公约数 因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证编辑本段欧几里得算法原理Lemma 1.3.1 若 a, b 且 a = bh + r, 其中 h, r 阅读全文

posted @ 2011-04-14 17:47 compilerTech 阅读(611) 评论(0) 推荐(0) 编辑

欧几里德算法及其实现

摘要: 1、欧几里德算法 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数 假设d 是(b,a mod b)的公约数,则 d | b , d |r ,但是a = kb +r 因此d也是(a,b)的公约数 因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证 欧几里德 阅读全文

posted @ 2011-04-14 17:47 compilerTech 阅读(328) 评论(0) 推荐(0) 编辑

欧几里德算法与扩展的欧几里德算法

摘要: 欧几里德算法: 给定的两个整数m,n,求它们的最大公因子。 算法很简单,使用碾转相除法描述: E1 r=m%nE2 if r= 0 return n(即为最大公因数) elsem = n;n = r;返回 E1平均比较次数Tn=(12*ln2)/pi^2)*lnn扩展的欧几里德算法:给定的两个正整数a,b,计算它们的最大公因子d和两个整数a和b,使得ax+by=d要证明这个定理,首先需给出一个定理带余除法:若a,b是两个整数,其中b>0,则存在两个整数q,r,使得 a = b*q + r 0<=r<b,并且q和r是唯一的。这个定理证明是简单的,有了这个定义,我们就来证明欧几里 阅读全文

posted @ 2011-04-14 17:44 compilerTech 阅读(241) 评论(0) 推荐(0) 编辑

第二数学归纳法

摘要: 数学归纳法是一种重要的论证方法。它们通常所说的“数学归纳法”大多是指它的第一种形式而言,本文想从最小数原理出发,对它的第二种形式即第二数学归纳法进行粗略的探讨,旨在加深对数学归纳法的认识。编辑本段原理第二数学归纳法原理是设有一个与自然数n有关的命题,如果: (1)当n=1时,命题成立; (2)假设当n≤k时命题成立,由此可推得当n=k+1时,命题也成立。 那么,命题对于一切自然数n来说都成立。编辑本段证明用反证法证明。 假设命题不是对一切自然数都成立。命N表示使命题不成立的自然数所成的集合,显然N非空,于是,由最小数原理N中必有最小数m,那么m≠1,否则将与(1)矛盾。所以m-1是一个自然数。 阅读全文

posted @ 2011-04-14 17:42 compilerTech 阅读(2354) 评论(0) 推荐(0) 编辑

带余除法

摘要: 带余除法,定理,定义,简单应用。 阅读全文

posted @ 2011-04-14 16:51 compilerTech 阅读(3423) 评论(0) 推荐(0) 编辑