日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

最大公約數(shù)(GCD)

 長(zhǎng)沙7喜 2019-10-19

最大公約數(shù),Greatest Common Divisor(GCD),當(dāng)然你要是叫它Highest Common Factor(HCF)也沒(méi)人會(huì)說(shuō)不行。

最大公約數(shù)

相信提到最大公約數(shù)大家都不會(huì)陌生,因?yàn)閺男W(xué)開始我們就接觸到了,

短除法對(duì)吧!大概是這樣的:

最大公因數(shù) = 2*3 = 6

如果我們拿到的數(shù)是103287和417145,我們還可以通過(guò)短除法輕松的解決嗎?

所以要給大家介紹兩種新的求法,第一種的思維過(guò)程很簡(jiǎn)單,窮舉法,思路就是枚舉每一個(gè)數(shù),如果兩個(gè)數(shù)字都可以整除就說(shuō)明這個(gè)是公因數(shù),最大公因數(shù)當(dāng)然要從大往小舉了!從兩個(gè)數(shù)的較小值到1。有一個(gè)符合就可以聽停止了。




我們看到就算要求的a和b很大也可以輕松求解。

很明顯,這個(gè)算法的事件復(fù)雜度是O(min(a,b)),線性的時(shí)間復(fù)雜度。接下來(lái)要介紹的輾轉(zhuǎn)相除法效率就更高了。

轉(zhuǎn)轉(zhuǎn)相除法

歐幾里得算法

用較小數(shù)除較大數(shù),再用出現(xiàn)的余數(shù)(第一余數(shù))去除除數(shù),再用出現(xiàn)的余數(shù)(第二余數(shù))去除第一余數(shù),如此反復(fù),直到最后余數(shù)是0為止。

關(guān)于它的證明......感興趣的人看一下吧

設(shè)兩數(shù)為a、b(a>b),用gcd(a,b)表示a,b的最大公因數(shù),r=a (mod b) 為a除以b的余數(shù),k為a除以b的商,即a/b = k······r。輾轉(zhuǎn)相除法即是要證明

gcd(a,b)=gcd(b,r)。

第一步:令,則設(shè)

第二步:根據(jù)前提可知

第三步:根據(jù)第二步結(jié)果可知,也是的因數(shù)

第四步:可以斷定互質(zhì)(這里用反正法進(jìn)行證明:設(shè),則,則,則a與b的一個(gè)公約數(shù),故c非a與b的最大公約數(shù),與前面結(jié)論矛盾,因此c也是b與r的最大公約數(shù))從而可知繼而。


不知道你有沒(méi)有看懂。不過(guò)不重要我們來(lái)看代碼吧。


.


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多