注册 登录
编程论坛 C++教室

给定两个正整数,计算这两个数的最小公倍数。

江湖之神 发布于 2007-07-23 11:39, 3812 次点击

给定两个正整数,计算这两个数的最小公倍数。

Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.

Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。





#include<iostream.h>
min_mun(int a,int b)
{
int i;
for(i=0;i<1000;i++)
if((a+i)%b==0&&(a+i)%a==0)
return a+i;
}
int main()
{
int c,d;
cout<<"输入两个数:";
cin>> c >> d ;
cout<<"最小公倍数是:";
cout<<min_mun(c,d)<<endl;
}




我写的怎么错了 帮忙看看 谢谢!!!!

4 回复
#2
HJin2007-07-23 11:58

One way is:

lcm(a, b) = a/gcd(a, b)*b

#3
tancui2007-07-23 12:14
int x;
int min=a*b;
while(1)
{

if (a<b)
swap(a,b);
if (b<2)
{b=1;break;}
if(a%b==0) //b为最小公约数
break;
x=a;
a=b;
b=x-b;
}
min /=b;
cout <<min;
#4
aipb20072007-07-23 12:55

你的min_mun函数似乎没返回类型,是忘记了?

应该没什么错,只是方法不怎么好。

#5
江湖之神2007-07-23 13:05

谢谢!!!! 大家

1