2007/11/06

计算两个整数最大公约数和最小公倍数的算法:C++语言实现

计算两个整数最大公约数和最小公倍数的算法:C++语言实现

#include <iostream>
using namespace std;
int gcd(int a, int b) //最大公约数
{
while(a!=b)
{ a>b ? a -= a/b * b : b -= b/a * a; }
return a;
}
int lcm(int a, int b) //最小公倍数
{
return a * b / gcd(a,b);
}
int main()
{
int x, y;
cout << "请输入两个正整数:" <<endl;
cin >> x >> y;
cout << "最大公约数: " << gcd(x,y) << " ; 最小公倍数: " << lcm(x,y) << endl;
return 0;
}


--
Liu Lantao
College of Information Science and Technology, Beijing Normal University
EMAIL: liulantao ( at ) liulantao ( dot ) com ;
WEBSITE: http://www.liulantao.com/ .
------

1 条评论:

时间 星期日, 九月 21, 2008 12:26:00 上午 , Anonymous 匿名 说...

int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}

 

发表评论

订阅 博文评论 [Atom]

<< 主页