¿Cuál es el mejor algoritmo para encontrar si 3 números son coprimos? ¿Como funciona?

¿Qué son los co-primos?

Los números primos son ligeramente diferentes de los números primos. Por un lado, existen en conjuntos de 2 o más números. A diferencia de los números primos, los números primos no pueden existir de forma aislada. Creo que eso es obvio para la mayoría.

Los elementos de un conjunto co-prime pueden o no ser primos.
Por ejemplo: {4, 9, 15}, {5, 16, 11}, etc. son conjuntos primarios de cardinalidad 3.

La propiedad importante de los elementos de estos conjuntos es que nunca son divisibles por un número primo común. Solo se pueden dividir comúnmente por 1. Es decir, el máximo común divisor (MCD) del conjunto debe ser igual a 1.

Entonces, básicamente, su algoritmo sería:

boolean isCoprime ({conjunto de enteros}) {
return GCD ({set of integers}) == 1
}

En c ++ STL, tenemos la función __gcd () que toma dos enteros como argumentos y devuelve el gcd. De lo contrario, podemos usar la siguiente implementación del algoritmo euclidiano para calcular el mcd.

int gcd (int a, int b)
{
si (! b) devuelve a;
devuelve mcd (b, a% b);
}