标签:
学习C++入门级的题目,求最大公约数和最小公倍数,这里介绍两种求最大公约数的方法,即辗转相除法和辗转相减法。辗转相除法的原理自行百度,辗转相减法的原理就是只要两数不想等就用大数减小数,直至相等,求最小公倍数的方法就是用两数的乘积除以最大公约数。
#include<iostream>
using namespace std;
int maxf(int a,int b)//辗转相减法
{
while(a != b)
{
if(a > b)
return a = a - b;
else
return b = b - a;
}
}
int maxff(int a ,int b)辗转相除法
{
int r;
if(a < b)
{
r = a;
a = b;
b = r;
}
if(a % b == 0)
return b;
else
return maxff(b ,a % b);
}
int main()
{
int a,b;
while(cin>>a>>b)
{
cout<<maxff(a,b)<<" "<<(a * b)/maxf(a,b)<<endl;输出最大公约数和最小公倍数
cout<<maxff(a,b)<<" "<<(a * b)/maxff(a,b)<<endl;
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/coderchuanyu/p/4174885.html