辗转相除求最大公约数与最小公倍数

#include<stdio.h>

int gcd(int a,int b)

{

  if(b!=0) gcd(b,a%b);

  else return a;

}

int lcm(int a,int b)

{

 return a*b/gcd(a,b);  //a/gcd(a,b)*b防溢出

}

int main()

{

  int a,b;

 while(scanf("%d%d",&a,&b)!=EOF){

  printf("%d %d ",gcd(a,b),lcm(a,b));

 }

 return 0;

}

原文地址:https://www.cnblogs.com/yzm10/p/7011007.html