http://acm.hdu.edu.cn/showproblem.php?pid=1108
最小公倍数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 32700 Accepted Submission(s): 18237
Problem Description
给定两个正整数,计算这两个数的最小公倍数。
Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
Sample Input
10 14
Sample Output
70
注意:求最小公倍数时,应先用一数先除最大公约数,再乘另一数,防止溢出。
对于 最小公倍数乘以最大公约数 = A*B。
对于 最小公倍数乘以最大公约数 = A*B。
AC代码:
<strong><span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:24px;">#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long int a,b,m;
int i;
while(~scanf("%ld%ld",&a,&b))
{
if(a>b)
m=a;
else
m=b;
for(i=m;i<a*b;i+=m)//i+=m
{
if(i%a==0&&i%b==0)
{
break;
}
}
printf("%d\n",i);
}
return 0;
}</span></span></strong>