第1个回答 2016-01-19
#include "stdio.h"
int Gcd01(int a, int b)
{
int M, m;
int i, g;
M = a > b ? a : b;
m = a < b ? a : b;
for(i = 1; i <= m / 2; i++)
{
if((m % i) == 0)
{
g = m / i;
if((M % g) == 0)
return g;
}
}
return 1;
}
int Lcm(int a, int b)
{
int M, m, lcm;
M = a > b ? a : b;
m = a < b ? a : b;
lcm = M;
while(lcm % m != 0)
lcm += M;
return lcm;
}
int Gcd02(int a, int b)
{
return ((a * b) / Lcm(a, b));
}
void main( )
{
int a, b;
scanf("%d %d", &a, &b);
printf("\n最大公约数为: %d", Gcd01(a, b));
printf("\n最大公约数为: %d", Gcd02(a, b));
}