給定兩個正整數,求它們的最大公約數。


題目:給定兩個正整數,求它們的最大公約數。

#include <iostream>

#include <cstdio>

using namespace std;

/*

利用遞歸的思想求最大公約數

關鍵要理解第一次求最大公約數未果

之后,這時候第一次要求的最大公約數就等於

求b對a%b的最大公約數,於是產生遞歸關系。

*/

int fun(int a,int b)

{

    if(a%b==0)

        return b;

    return fun(b,a%b);

}

int main()

{

    int a,b;

    cin>>a>>b;

    if(a<b) swap(a,b);

    cout<<fun(a,b);

    return 0;

}

補充:

最大公約數在求分數計算中的應用——通分時,兩個分母相乘除以兩個分母的最大公約數即為最簡結果的分母,分子交叉乘分母之后相加的和除以最大公約數是最簡結果的分子。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM