求三个数的最大公约数和最小公倍数程序

如题所述

第1个回答  2014-04-28

先求两个数的最大公约数/最小公倍数 然后再和第三个数求就可以了


简单一点的代码(C语言)

#include "stdio.h"
int gcd(int a, int b)
{
int t;

while(b > 0)
{
a %= b;
t = b;
b = a;
a = t;
}
return a;
}
int lcm(int a, int b)
{
return a*b/gcd(a,b);
}

int gcd3(int a, int b, int c)
{
return gcd(gcd(a, b), c);
}

int lcm3(int a, int b, int c)
{
return lcm(lcm(a,b),c);
}

int main()
{
int a,b,c;
scanf("%d%d%d", &a,&b,&c);
printf("gcd = %d, lcm = %d\n", gcd3(a,b,c), lcm3(a,b,c));
return 0;
}

相似回答