求最大公约数

来源:互联网 发布:origin画图软件注册 编辑:程序博客网 时间:2024/06/05 20:12

用gcd(a,b)表示a,b最大公约数。

公里:若a=bq+r,则gcd(a,b)=gcd(b,r);

 

#include<iostream>
using namespace std;

int gcd(int a,int b)
{
 if(b==0) return a;
 return gcd(b,a%b);
}
int main()
{
 int a,b;
 int temp,ans;
 while(cin>>a>>b)
 {
  if(b>a)
  {
   temp=a;
   a=b;
   b=temp;
  }
  ans=gcd(a,b);
  cout<<ans<<endl;//最大公约数

cout<<a*b/ans<<endl;//最小公倍数
 }
 return 0;
}

原创粉丝点击