天天看点

算法笔记5.1 最大公约数与最小公倍数

输入正整数m,n,求m,n的最大公约数和最小公倍数(最简洁写法)

#include<iostream>     
using namespace std;

//辗转相除法求最大公约数
int gcd(int a,int b){
  if(b==0) return a;
  else return gcd(b,a%b);
}

//最小公倍数
int lcm(int a,int b){
  return a/gcd(a,b)*b;//防止溢出先除最大公约数
}

int main(){
  int m,n;
  while(cin>>m>>n){
    cout<<"最大公约数"<<gcd(m,n)<<endl;
    cout<<"最小公倍数"<<lcm(m,n)<<endl;
  }
  return 0;
}      
算法笔记5.1 最大公约数与最小公倍数