辗转相除法:
辗转相除法相比更相减损法更常用,这里就介绍一下辗转相除法的实现方法
这个偏向模板化,只要记住就可以了,如果你想探究更深层的实现原理点击我进入
1.递归实现
你可以这样记,这里的参数列表内的a和b是向左移动的,a变成b,b变成a%b,b=0返回a
int gcd(int a,int b)
{
if(b == 0)
return a;
return gcd(b,a%b);
}
2.非递归实现
int gcd(int a,int b)
{
while(b){
int t = b;
b = a%b;
a = t;
}
return a;
}