最大公约数和最小公倍数

来源:互联网 发布:期货复盘软件 编辑:程序博客网 时间:2024/05/22 05:15


求解最大公约数用的是欧几里得的辗转相除法。


例如,求(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;
}