暑期集训之最小公倍数

来源:互联网 发布:淘宝品牌代理加盟 编辑:程序博客网 时间:2024/06/06 08:43
给定两个正整数,计算这两个数的最小公倍数。
Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。 
Sample Input
10 14
Sample Output

70

关于最小公倍数问题,其实如果会最大公约数了,那么最小公倍数也就没啥难度了,因为最小公倍数的算法就是a/gcd(a,b)*b(gcd即最大公约数),这里其实采用了先除再乘的方法,其实是为了防止数太大溢出那种情况,不过还是非常一般的方法,不过新手非常适合理解,话不多说,代码如下:

#include<stdio.h>
int gcd(int a,int b)
{
if(a<b)
{
int t;
t=a;
a=b;
b=t;
}
while(b!=0)
{
int tem=b;
b=a%b;
a=tem;
}
return a;
}
main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
int k=gcd(m,n);
printf("%d\n",m*n/k);
}
}