您的位置:首页 > 编程语言

暑期集训之最小公倍数

2017-07-21 20:03 246 查看
给定两个正整数,计算这两个数的最小公倍数。

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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编程