按照数学定义求。
最简单的 从较大数开始,一直累加出一个两个的共同倍数。
也可以先求最大公约数 然后用两个数的积除以最大公约数
int func(int a, int b)
{
int r;
for( r=a; ; r++)
if(r%a==0 && r%b==0) break;
return r;
}
可以先求最大公约数,再求最小公倍数。
#include
int main()
{int a,b,k,r;
scanf("%d%d",&a,&b);
printf("%d,%d的最小公倍数=",a,b);
k=a*b;
do
{r=a%b;
a=b;
b=r;
}while(r);
printf("%d",k/a);
return 0;
}
#include
main()
{
int a,b,i,t,k;
printf("输入两个数a>1,b>1\n");
scanf("%d %d",&a,&b);
if(a>b)
{
t=a;a=b;b=t;
}
for(i=1;i<=a;i++)
if((b*i)%a==0)
{
k=b*i;break;
}
printf("%d",k);
}
C语言经典例子之求其最大公约数和最小公倍数