蓝桥杯 历届试题 核桃的数量

最小公倍数和最大公约数之间有个关系

a*b=最小公倍数 * 最大公约数

所以只需要求出最大公约数就可以利用这个等式求出最小公倍数了。

求最大公约数的方法之一就是转辗相除法

蓝桥杯 历届试题 核桃的数量_第1张图片
用大的除以小的
所以需要判断a和b的大小

#include

int gcd(int a,int b)//求最大公约数
{
int temp;
if(a {
temp=a;
a=b;
b=temp;
}
while(b)
{
temp=b;
b=a%b;
a=temp;
}
return a;
}

int lcm(int a,int b)//求最小公倍数
{
return a*b/gcd(a,b);
}

int lcm1(int a,int b,int c)
{
return lcm(lcm(a,b),c);
}

int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d",lcm1(a,b,c));
return 0;
}

你可能感兴趣的:(C语言)