求兩個(gè)數(shù)的最大公約數(shù),前些天用C實(shí)現(xiàn)的時(shí)候,從網(wǎng)上扒了一段代 碼用了,什么輾轉(zhuǎn)相減法相除法,高中的知識也是忘的快差不多了,記憶是好幾行的代碼,今天瞥見《C語言開發(fā)范例寶典》中看到一段好簡潔的代碼:
int gys(int x, int y){ return y ? gys(y, x%y) : x;}這就是所謂的輾轉(zhuǎn)相除取余吧,利用遞歸調(diào)用實(shí)現(xiàn),簡潔明了; 再來看一下最小公倍數(shù)的實(shí)現(xiàn):
int gbs (int x ,int y){ return x / gys(x, y)*y;}關(guān)于什么是最小公倍數(shù)參見:最小公倍數(shù) 額,這是初中還是小學(xué)的內(nèi)容吧,忘了…
————以上是最大公約數(shù)與最小公倍數(shù)———; 實(shí)例38 分?jǐn)?shù)計(jì)算器程序,定義了分?jǐn)?shù)的加減乘除運(yùn)算,懶得細(xì)看了,什么時(shí)候用到了再過來翻查;
新聞熱點(diǎn)
疑難解答