算法案例辗转相除法(第一课时)1、求两个正整数的最大公约数(1)求25和35的最大公约数(2)求49和63的最大公约数2、求8251和6105的最大公约数25(1)5535749(2)77639所以,25和35的最大公约数为5所以,49和63的最大公约数为7辗转相除法(欧几里得算法)观察求8251和6105的最大公约数的过程第一步用两数中较大的数除以较小的数,求得商和余数8251=6105×1+2146结论:8251和6105的公约数就是6105和2146的公约数,求8251和6105的最大公约数,只要求出6105和2146的公约数就可以了
第二步对6105和2146重复第一步的做法6105=2146×2+1813同理6105和2146的最大公约数也是2146和1813的最大公约数
辗转相处法两个重要定理一般定理:如果a是任一整数而b是任一大于零的整数,则我们总能找到一整数q,使a=bq+r,这里r是满足不等式0≤r=b)两个整数,求最大公因子d
根据上边给的定理,可以将a写成a=bq+r辗转相除法是告诉我们:(a,b)=(b,r)即a和b的最大公因数和b和r(r是a除以b的余数)的最大公因数是相等的
为什么为什么(a,b)=(b,r)
(a,b)=(b,r)
原理:a=bq+r对于任意同时整除a和b的数u,有a=su,b=tu,因为r=a-bq=su-qtu=(s-qt)u
故它也能整除r,反过来每一个整除b和r的整数v,有b=s‘v,r=t’v因为a=bq+r=s‘vq+t’v=(s‘q+t’)v
故它也能整除a,因此a和b的每一个公因子同时也是b和r的一个公因子,反之亦然
这样由于a和b的全体公因子集合与b和r的全体公因子集合相同,所以a和b的最大公因子必须等于b和r的最大公因子,这就证明了(a,b)=(b,r)
完整的过程8251=6105×1