HDU ACM Steps :最小公倍数
问题描述
给定两个正整数,计算这两个数的最小公倍数。
输入
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数
输出
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
输入样例
10 14
输出样例
70
思路
1.题目意思简单,求出最小公倍数即可。
2.x,y的最小公倍数:LCM(x,y)
3.x,y的最大公约数:GCD(x,y)
4.两者满足性质:
==
5.题目要求得到最小公倍数,实际上求出最小公约数即可。
6.最小公约数的算法有四种这里选择比较简单的辗转相除法。有兴趣的话可以去看一下大佬写的四种算法点击进入https://blog.csdn.net/d52370/article/details/88577978
代码
#include<stdio.h>
int a,b,c;
int gcd(int x,int y)
{
return y ? gcd(y,x%y) : x;
}
int main()
{
while(~scanf("%d %d",&a,&b))
{
int ans=(a*b)/gcd(a,b);
printf("%d\n",ans);
}
return 0;
}