辗转相除 (gcd) 最大公约数

辗转相除

long long gcd(long long b,long long a)
{
    if(a!=0)//其中b>a;
    {
        return gcd(a,b%a);
    }
    else
    {
        return b;
    }
}
ll gcd(ll a,ll b)
{
    return b==0?a:gcd(b,a%b);
}
ll gcd(ll a,ll b)
{
    ll t;
    while(b)///当b为0时,得出结果,a既为结果
    {
        t=b;///存b
        b=(a%b);///b为a对b取模
        a=t;///a为上一次的b
    }
    return a;
}

aba mod b
123456 7890 5106
7890 5106 2784
5106 2784 2322
2784 2322 462
2322 462 12
462 12 6
12 6 0

 

 

 

posted @ 2020-06-12 09:29  Voca  阅读(71)  评论(0)    收藏  举报