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

如何求两数的最小公倍数和最大公约数??

WE11021102 发布于 2007-07-04 17:36, 3046 次点击

1.输入120 72 ,输出360

2.输入120 72,输出24

5 回复
#2
aipb20072007-07-04 17:45
不是很难啊,自己多思考下嘛!
起码能做最小公倍数吧!


#3
WE110211022007-07-04 17:54

主要是半年又拎出来
没什么思路啊

3天要做100多题,导师疯了

#4
HJin2007-07-04 19:04
回复:(WE11021102)如何求两数的最小公倍数和最大公...

Hi brother, this is very easy task. Just try to practice your programming skills.

Hope the following code helps.

HJin

===============================================================

#include <iostream>
using namespace std;

unsigned gcd(unsigned m, unsigned n); // Greatest Common Divisor
unsigned lcm(unsigned m, unsigned n); // Lowest Common Multiple


int main(int argc, char** argv)
{
unsigned m = 120;
unsigned n = 72;

cout<<lcm(m, n)<<endl;
cout<<gcd(m, n)<<endl;


return 0;
}

unsigned gcd(unsigned m, unsigned n)
{
unsigned rem;

if(n>m) // swap them so that m > n
{
int temp=n;
n=m;
m=temp;
}

while( n>0 )
{
rem=m%n;
m=n;
n=rem;
}

return m;
}

unsigned lcm(unsigned m, unsigned n) // Lowest Common Multiple
{
return m/gcd(m, n)*n;
}

#5
leeco2007-07-05 01:04
回复:(WE11021102)主要是半年又拎出来没什么思路啊...
先生说到导师,先生是研究生吗?如果已经读研,确连这些都不会,实在令人。。。
#6
野比2007-07-05 11:41
莫非是转行的研究生?.. 有这可能...
1