最大公约数(递归):
int gcd(int a,int b){
if(a%b)
return gcd(b,a%b);
return b;
}
最大公约数(循环):
int gcd(int a,int b){
int temp;
while(b>0){
temp=a%b;
a=b;
b=temp;
}
return a;
}
最小公倍数:
int lcm(int a,int b){
if(a*b)
return (a*b)/gcd(a,b);
else
return 0;
}
最小公倍数(枚举):
int lcm(int a,int b){
if(a * b == 0)
return 0;//其中一个数为0,则最小公倍数为0;
int temp= a > b ? a : b;//取出较大的一个
while(1)
{
if((temp%a==0) && (temp%b==0))//同时满足整除a和b的数即是所求
break;
temp++;
}
return temp;
}