编写算法求任意三个数的最小公倍数。
发布网友
发布时间:2023-04-15 11:22
我来回答
共3个回答
热心网友
时间:2023-10-08 09:08
#include<stdio.h>
int *(int a,int b)
{
if(b==0) return a;
return *(b,a%b);
}
int lcm(int a,int b)
{
return a/*(a,b)*b;
}
int lcm3(int a,int b,int c)
{
return lcm(lcm(a,b),c);
}
void main()
{
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)>0)
{
if(a==0&&b==0&&c==0)
break;
printf("%d\n",lcm3(a,b,c));
}
}
原理
*为辗转相除法
lcm为算两个数的最小公倍数,其中,若写成a*b/*(a,b),则有可能a*b会溢出~
lcm3为算3个数的最小公倍数,即先算两个,再算第三个~
热心网友
时间:2023-10-08 09:08
2 4 8的最小公倍数是16 - -
热心网友
时间:2023-10-08 09:09
8 18
4 9