辗转相除法求得最大公约数的证明
2017-11-04 17:49
281 查看
描述:关于辗转相除法的具体实现在这里就不具体说明了,本文要记录的是辗转相除法应用于求最大公约数的算法证明过程。
假设:
求m和n的最大公约数。(假设m>n)
a,b分别是m除以n的商和余数,即m=na+b,a为商,b为余数
gcd(m,n)表示m和n的最大公约数;gcd(n,b)表示a和b的最大公约数
求证:gcd(m,n)=gcd(n,b)
证明:
设c=gcd(m,n), d=gcd(n,b)
1.∵c为m和n的公约数
∴m能被c整除,n也能被c整除
∴na也能被c整除
参照推论一
∴m-na也能被c整除(即b也能为c整除)
参照推论二
∴c为n和b的公约数
∵d为n和b的最大公约数
∴c≤d
2. 同理可证 d≤c
∵d为n和b的公约数
∴n能被d整除,b也能被d整除
∴na也能被d整除
参照推论一
∴na+b也能被d整除(即m也能为d整除)
参照推论二
∴d为m和n的公约数
∵c为m和n的最大公约数
∴d≤c
综上所述:c=d,即gcd(m,n)=gcd(n,r)
推论一:若a能被b整除(a=tb),则如果k为正整数,则ka也能被b整除(ka=ktb)。
推论二:若a能被c整除,b也能被c整除,则(a±b)也能被c整除。
假设:
求m和n的最大公约数。(假设m>n)
a,b分别是m除以n的商和余数,即m=na+b,a为商,b为余数
gcd(m,n)表示m和n的最大公约数;gcd(n,b)表示a和b的最大公约数
求证:gcd(m,n)=gcd(n,b)
证明:
设c=gcd(m,n), d=gcd(n,b)
1.∵c为m和n的公约数
∴m能被c整除,n也能被c整除
∴na也能被c整除
参照推论一
∴m-na也能被c整除(即b也能为c整除)
参照推论二
∴c为n和b的公约数
∵d为n和b的最大公约数
∴c≤d
2. 同理可证 d≤c
∵d为n和b的公约数
∴n能被d整除,b也能被d整除
∴na也能被d整除
参照推论一
∴na+b也能被d整除(即m也能为d整除)
参照推论二
∴d为m和n的公约数
∵c为m和n的最大公约数
∴d≤c
综上所述:c=d,即gcd(m,n)=gcd(n,r)
推论一:若a能被b整除(a=tb),则如果k为正整数,则ka也能被b整除(ka=ktb)。
推论二:若a能被c整除,b也能被c整除,则(a±b)也能被c整除。
相关文章推荐
- 辗转相除法求得最大公约数的证明
- 最大公约数(辗转相除法)证明+最小公倍数证明+其他相关证明
- 使用辗转相除法求得最大公约数
- 最大公约数 - 辗转相除法证明
- 每天一道编程题----------------辗转相除法求两个数的最大公约数及其证明
- C语言进阶之路------函数调用之辗转相除法求两个数的最小公倍数和最大公约数
- 辗转相除法求最大公约数
- 辗转相除法求两个数的最大公约数
- 用辗转相除法求两个正整数的最大公约数
- 【牛客网】【网易2016研发工程师编程题】【辗转相除法求最大公约数】
- 辗转相除法求最大公约数
- 7. 最大公约数(辗转相除法)
- 辗转相除法求最大公约数---C语言
- 世界上最早的算法:辗转相除法(求两个自然数最大公约数)
- 辗转相除法 求 两个数的 最大公约数 和 最小公倍数
- 递归实现最大公约数:辗转相除法
- 汇编语言: 根据欧几里德辗转相除法求两个正整数M、N的最大公约数R。
- 辗转相除法求两个非负数的最大公约数问题
- 习题:求两个数的最大公约数-辗转相除法
- 世界上最早的算法:辗转相除法(求两个自然数最大公约数) 推荐