描述
求出两个数的最大公约数,如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。
示例1
输入:3,6
返回值:3
示例2
输入:8,12
返回值:4
class Solution {
public:
int gcd(int a, int b) {
// write code here
while(a!=b)
{
if(a>b) a=a-b;
else b=b-a;
}
return a;
}
};
class Solution {
public:
int gcd(int a, int b) {
// write code here
int c=a>b?b:a;
while((a%c)!=0 || (b%c)!=0) c--;
return c;
}
};
class Solution {
public:
int gcd(int a, int b) {
// write code here
int c=a%b;
while(c)
{
a=b;
b=c;
c=a%b;
}
return b;
}
};
class Solution {
public:
int gcd(int a, int b) {
// write code here
return b?gcd(b,a%b):a;
}
};