对外汉语词汇课教案:用c语言如何编写求最小共倍数

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 21:07:51
同上

先求出最大公约数,然后最小公倍数为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)