红网慈利站:用c语言如何编写求最小共倍数
来源:百度文库 编辑:神马品牌网 时间:2024/05/06 11:35:04
同上
先求出最大公约数,然后最小公倍数为a*b/最大公约数
/*
辗转相除法求整数m,n最大公约数
*/
int gcd(int m,int n)
{
int t;
while(t=m%n)
{
m=n;
n=t;
}
return n;
}
/*求最小公倍数*/
int lcm(int a,int b)
{
return a*b/gcd(a,b);
}
void main()
{
int a,b,num,num1,temp;
printf("input two numbers please!");
scanf("%d,%d",&a,&b);
if(num>=num1)
{ temp=num;num=num1;num1=temp;}
while(b!=0)
{ temp=a%b;a=b;b=temp;}
printf("最大公约数:%d\n",a);
printf("最小公倍数:%d\n",num*num1/a);
}
只求最小公倍数吗?
#include<stdio.h>
void main()
{ int m,n,i;
scanf("%d,%d",&m,&n);
for(i=1;;i++)
if(i*m%n==0)
{ printf("%d",i*m);
break;}
getch();
}
求a和b的最小公倍数
1.选出a,b中的小者,假设是a.
2.另i=1.
3.如果(i*b)%a=0,那么i*b就是所求,否则(4)
4.i++,重复(3)