【C语言】m和n的最大公约数,最小公倍数

时间:2021-01-31 00:30:47

#include <stdio.h>

#include <math.h>

int GreatestComDiv(int m,int n)

{

       int r;

       while((r=m%n) != 0)

{

       m = n;

       n = r;

}

       return n;

/*

       int tmp;

       for(int i=1;i<=m;i++)

       {

              if(m%i==0 && n%i==0)

              {

              tmp = i;

              }

       }

       return tmp;

*/

}

int LeastComMult(int m,int n)

{

       //int GreatestComDiv(int m,int n);

       //return m*n/GreatestComDiv(m,n);

       return m/GreatestComDiv(m,n) * n;

}

int main()

{

       printf("%d\n",LeastComMult(1000000,150000000));

       //printf("%d\n",GreatestComDiv(10,15));

       //printf("%d\n",GreatestComDiv(15,10));

       //printf("%d\n",GreatestComDiv(10,100));

       //printf("%d\n",GreatestComDiv(10,33));

       return 0;

}