暑期集训之最小公倍数
2017-07-21 20:03
204 查看
给定两个正整数,计算这两个数的最小公倍数。
Input输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
Output对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
Sample Input
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);
}
}
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);
}
}
相关文章推荐
- 暑期集训之最小公倍数
- ACM暑期集训——专题一[最小生成树prim算法]
- 2011 第二届蓝桥杯总决赛- 第三题 求1-n 的最小公倍数(n小于101)
- 最小公倍数 HDU杭电1108
- 实验七-最大公约和和最小公倍数
- [2017雅礼集训]day9 T2 价 最小割/最大权闭合子图
- 最大公约数和最小公倍数
- 第一次暑期集训之前期排位赛
- 暑期集训 WEEK3
- 暑期集训盲打首秀
- C/C++训练1---最大公约数与最小公倍数
- HDOJ1019 求多个数的最小公倍数
- HDU 1108 最小公倍数
- 2013年通化邀请赛E题(GCD and LCM 最大公约数最小公倍数关系 )
- HDU1019 Least Common Multiple (最小公倍数)
- 最大公约数与最小公倍数
- 暑期集训 Contest 1
- 最小公倍数 SCU - 1630
- 最小公倍数(Uva 11889)
- 求N个数的最小公倍数