欧几里得算法,即辗转相除法求最大公约数
1.循环:
int gcd(int a,int b)
{
if(a < b) swap(a,b);
while(a%b != 0)
{
int t = a%b;
a = b;
b = t;
}
return b;
}
2.递归:
int gcd(int a,int b)
{
//要求保证传入的a>=b
if(b == 0) return a;
return gcd(b, a % b);
}
欧几里得算法,即辗转相除法求最大公约数
1.循环:
int gcd(int a,int b)
{
if(a < b) swap(a,b);
while(a%b != 0)
{
int t = a%b;
a = b;
b = t;
}
return b;
}
2.递归:
int gcd(int a,int b)
{
//要求保证传入的a>=b
if(b == 0) return a;
return gcd(b, a % b);
}