您的位置:首页 > 其它

求多个数的最小公倍数(以3个数为例)

2016-03-12 21:53 351 查看
想要求出三个数的最小公倍数,首先需要求出两个数的最小公倍数,而要求得两个数的最小公倍数就要求出其最大公约数(使用辗转相除法)

辗转相除法:假设我们有两个数a,b(a<b),现在求a,b最大公约数(借助t):

while(b%a!=0)
{
t=b%a;
b=a;
a=t;
}
cout<<"最大公约数:"<<b;


主要代码:

#include <iostream>

using namespace std;
//求出a,b的最大公约数
int gcd(int a,int b)
{
return a%b==0?b:gcd(b,a%b);
}

int main()
{
int a,b,c;
cin>>a>>b>>c;
int ab=a*b/gcd(a,b);        //得到a,b的最小公倍数
cout<<ab*c/gcd(ab,c)<<endl; //得到吧,c的最小公倍数
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: