计算最小公倍数的方法:https://wenku.baidu.com/view/92ad50d3a58da0116c174989.html
此代码采用
1、两数相乘法
2、扩大法
详情参考上面链接
#include <stdio.h>
#include <stdlib.h>
main()
{
int i = 1,data1,data2 ,temp1,temp2,lcm;
printf("please enter data1 and data2: ");
scanf("%d%d",&data1,&data2);
if(data1 % data2 == 0 )
printf("the lcm is %d",data1);
else if (data2 % data1 == 0 )
printf("the lcm is %d",data2);
else
{
temp1 = data1;
temp2 = data2;
for(i = 2; ; i++)
{
temp1 *= i;
temp2 *= i;
if((temp1 % data1 == 0 ) && (temp1 % data2 == 0))
{
printf("the lcm is %d \n",temp1);
break;
}
if((temp2 % data1 == 0 ) && (temp2 % data2 == 0))
{
printf("the lcm is %d \n",temp2);
break;
}
temp1 = data1;
temp2 = data2;
}
}
}
用函数实现
#include <stdio.h>
#include <stdlib.h>
int LCM(int data1, int data2);
main()
{
int data1,data2 ,lcm;
printf("please enter data1 and data2: ");
scanf("%d%d",&data1,&data2);
lcm = LCM(data1, data2);
printf("the lcm is %d",lcm);
}
int LCM(int data1, int data2)
{
int temp1 , temp2,i;
if(data1 % data2 == 0 )
return data1 ;
else if (data2 % data1 == 0 )
return data2 ;
else
{
temp1 = data1;
temp2 = data2;
for(i = 2; ; i++)
{
temp1 *= i;
temp2 *= i;
if((temp1 % data1 == 0 ) && (temp1 % data2 == 0))
{
return temp1 ;
break;
}
if((temp2 % data1 == 0 ) && (temp2 % data2 == 0))
{
return temp2 ;
break;
}
temp1 = data1;
temp2 = data2;
}
}
}