五十六、从高中碾转相除法、更相减损术算法谈起
@Author:Runsen
編程的本質(zhì)來(lái)源于算法,而算法的本質(zhì)來(lái)源于數(shù)學(xué),編程只不過(guò)將數(shù)學(xué)題代碼化。 ---- Runsen
先問(wèn)你們一個(gè)小學(xué)問(wèn)題:如何求兩個(gè)整數(shù)的最大公約數(shù)?
曾經(jīng)見(jiàn)過(guò)不少的算法題,發(fā)現(xiàn)有的并不在數(shù)據(jù)結(jié)構(gòu)和算法大綱中,而是來(lái)源于高中數(shù)學(xué)。
高中數(shù)學(xué)在必修三中,有一個(gè)非常重要的知識(shí)點(diǎn),叫做碾轉(zhuǎn)相除法、更相減損術(shù)。
輾轉(zhuǎn)相除法, 又名歐幾里德算法(Euclidean algorithm)乃求兩個(gè)正整數(shù)之最大公因子的算法。它是已知最古老的算法, 其可追溯至公元前300年前。
在古代,有一個(gè)比較出名的數(shù)學(xué)家,叫做劉徽。而更相減損術(shù)是我國(guó)數(shù)學(xué)家劉徽的專著《九章算術(shù)》中記載的.
文章目錄
- 碾轉(zhuǎn)相除法
- 更相減損術(shù)
碾轉(zhuǎn)相除法
輾轉(zhuǎn)相除是求最大公約數(shù)的一種算法。給兩個(gè)數(shù),我們可以把它組成數(shù)對(duì)(a,b)
輾轉(zhuǎn)相除法基于如下原理:兩個(gè)整數(shù)的最大公約數(shù)等于其中較小的數(shù)和兩數(shù)的相除余數(shù)的最大公約數(shù)。
求a和b的最大公約數(shù),就用ab中較小的數(shù)去除另一
總結(jié)
以上是生活随笔為你收集整理的五十六、从高中碾转相除法、更相减损术算法谈起的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么在U盘里存文件 如何将文件存储到U盘
- 下一篇: 五十八、如何对一个数进行分解质因数