辗转相除
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;
}
a | b | a mod b |
---|---|---|
123456 | 7890 | 5106 |
7890 | 5106 | 2784 |
5106 | 2784 | 2322 |
2784 | 2322 | 462 |
2322 | 462 | 12 |
462 | 12 | 6 |
12 | 6 | 0 |