最大公约数和最小公倍数
2013-09-26 22:15
169 查看
求解最大公约数用的是欧几里得的辗转相除法。
例如,求(319,377):
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29),
∴ (319,58)=(58,29);
∵ 58÷29=2(余0),
∴ (58,29)= 29;
∴ (319,377)=2
include<iostream>
using namespace std;
int main( )
{int a,b,c,m,p,q;
while(cin>>a>>b)
{ p=a;q=b;
if(a<b)
{ c=a; a=b; b=c;}
while(b!=0)
{m=a%b;
a=b;
b=m;
}
cout<<a<<endl;(输出最大公约数)
cout<<p*q/a<<endl;(输出最小公倍数)
}
return 0;
}
例如,求(319,377):
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29),
∴ (319,58)=(58,29);
∵ 58÷29=2(余0),
∴ (58,29)= 29;
∴ (319,377)=2
include<iostream>
using namespace std;
int main( )
{int a,b,c,m,p,q;
while(cin>>a>>b)
{ p=a;q=b;
if(a<b)
{ c=a; a=b; b=c;}
while(b!=0)
{m=a%b;
a=b;
b=m;
}
cout<<a<<endl;(输出最大公约数)
cout<<p*q/a<<endl;(输出最小公倍数)
}
return 0;
}
相关文章推荐
- 最大公约数与最小公倍数
- 最大公约数和最小公倍数问题
- 最小公倍数最大公约数
- noip2009 hankson的趣味题 (扩展欧几里得求最大公约数,最小公倍数与最大公约数)
- 最大公约数和最小公倍数
- 最大公约数和最小公倍数
- 最大公约数和最小公倍数
- gcd lcm (最大公约数 最小公倍数)
- 最大公约数和最小公倍数
- 最大公约数与最小公倍数
- 一步之遥 【最大公约数、最小公倍数的拓展】
- 最大公约数,最小公倍数
- 最小公倍数和最大公约数的求法——最快的:辗转相除法
- 最大公约数和最小公倍数
- C++实验七—最大公约数与最小公倍数
- 最大公约数(递归与非递归实现),最小公倍数
- c++实验7-最大公约数和最小公倍数
- C/C++训练1---最大公约数与最小公倍数
- XYNUOJ 1106 1107 求最大公约数 求最小公倍数
- C语言最小公倍数最大公约数