最大公因数,又称最大公约数。是指 [n(≧2)个自然数 a1, a2, ..., an] 的最大公因数。通常有两种表示方式:
欧几里得算法(Euclidean Algorithm)(Euclid‘s 算法)就是通常所说的求最大公因数的辗转相除法。算法描述如下:
代码实现如下:
#include <stdio.h>
int Euclidean(int parA, int parB)
{
if (parB == 0) {
return parA;
} else {
return Euclidean(parB, parA % parB);
}
}
int main(void)
{
int intA, intB;
printf("Enter two number to calculate its GCD:\n");
scanf("%d %d", &intA, &intB);
printf("The GCD of %d and %d is %d\n", intA, intB, Euclidean(intA, intB));
return 0;
}
或者
#include <stdio.h>
int Euclidean(int parA, int parB)
{
return (!parB)?parA : Euclidean(parB, parA % parB);
}
int main(void)
{
int intA, intB;
printf("Enter two number to calculate its GCD:\n");
scanf("%d %d", &intA, &intB);
printf("The GCD of %d and %d is %d\n", intA, intB, Euclidean(intA, intB));
return 0;
}