【知识学习】最大公因数gcd
生活随笔
收集整理的這篇文章主要介紹了
【知识学习】最大公因数gcd
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前
最大公因數(shù),又叫g(shù)cd/最大公約數(shù)。
解決的兩大算法:更相減損 輾轉(zhuǎn)相除
以下附簡(jiǎn)單證明
中
更相減損
記住:這是我們中國(guó)人的算法!
用大數(shù)減小數(shù)的差和小數(shù)的最大公約數(shù)與原來(lái)兩個(gè)數(shù)的最大公約數(shù)相等
證明:
代碼實(shí)現(xiàn)
int gcd(int x , int y) {if(x==y) return x;if(x<y)return gcd(y-x , x);return gcd(x-y , y); }輾轉(zhuǎn)相除
又叫歐幾里得算法
證明:
稍微解釋一下上面的證明(證明來(lái)自百度百科)
從上到下看下來(lái)應(yīng)該也就是倒數(shù)第四行的結(jié)論可能有問(wèn)題吧,其實(shí)可以知道mmm和nnn是互質(zhì)的(因?yàn)槿绻换ベ|(zhì),則第一行假設(shè)不成立),所以y%x一定不等于零,所以y+kxy+kxy+kx一定與xxx互質(zhì),那么就有倒數(shù)第四行的“可得”了。
代碼實(shí)現(xiàn):
int gcd(int x , int y) {return y==0?x:gcd(y,x%y); }后
忘記好多知識(shí)點(diǎn)了,第一遍學(xué)的時(shí)候也不仔細(xì)也沒(méi)搞懂原理
希望大家這一遍看過(guò)就真的搞懂這個(gè)算法,手推一下證明過(guò)程哦
總結(jié)
以上是生活随笔為你收集整理的【知识学习】最大公因数gcd的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LM2596/LM2596S多路降压稳压
- 下一篇: MBA-day4数学-十字交叉法