C語言程序開發範例寶典38~最小公倍數與最大公約數

  求兩個數的最大公約數,前些天用C實現的時候,從網上扒了一段代 碼用了,什麼輾轉相減法相除法,高中的知識也是忘的快差不多了,記憶是好幾行的代碼,今天瞥見《C語言開發範例寶典》中看到一段好簡潔的代碼: 

int gys(int x, int y)
{
    return y ? gys(y, x%y) : x;

}

這就是所謂的輾轉相除取餘吧,利用遞歸調用實現,簡潔明瞭;
再來看一下最小公倍數的實現:

int gbs (int x ,int y)
{
    return x / gys(x, y)*y;


}

關於什麼是最小公倍數參見:最小公倍數
額,這是初中還是小學的內容吧,忘了…
最小公倍數運行結果
————以上是最大公約數與最小公倍數———;
實例38 分數計算器程序,定義了分數的加減乘除運算,懶得細看了,什麼時候用到了再過來翻查;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章