求两个正数的最大公因数问题

描述:求两个正数数的最大公因数,常常使用辗转相除法,反复计算直到余数为零为止。其递归定义为:

                     GCD(m,n)=m,n=0或 GCD(m,n)=GCD(n,m%n),n>0。代码如下(c++):

(C++)

#include <iostream>
using namespace std;
int GCD(int m, int n)
{
    if (m < 0)
        m = -m;
    if (n < 0)
        n = -n;
    if (m < n)
        return GCD(n, m);
    if (n == 0)
        return m;
    return GCD(n, m % n);
}
int main()
{
    int x = GCD(15, 12);
    cout<< x <<endl;
    system("pause");
} 

猜你喜欢

转载自blog.csdn.net/theShepherd/article/details/81158841
今日推荐