C语言求最大公约数的三种方法

C语言求最大公约数的三种方法

//更相减损法
int gcd(int a,int b)
{
    while(a!=b)
    {
       if(a>b)
           a-=b;
       else
           b-=a;
    }
    return a;
}
//辗转相除法--递归
int gcd(int a,int b)
{
    if(b==0)
       return a;
    else
       return gcd(b,a%b);
}
//辗转相除法--纯循环
int gcd(int a,int b)
{
    int r;
    while(b!=0)
    {
       r=a%b;
       a=b;
       b=r;
    }
    return a;
}

你可能感兴趣的:(c)