描述
输入 a 和 b , 请返回 a 和 b 的最大公约数。
输入:8,12
返回值:4
解题思路
方法一:暴力
class Solution {
public:
int gcd(int a, int b) {
int c=min(a,b);
for(int i=c;i>0;i--){
if(a%i==0 && b%i==0)
return i;
}
return 1;
}
};
方法二:
gcd(a,b)表示a和b的最大公约数。
a和b的最大公约数等于a和a%b的最大公约数
class Solution {
public:
int gcd(int a, int b) {
if(a%b==0) return b;
else return gcd(b,a%b);
}
};