BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Método

Definición

Busca el máximo común divisor de dos valores BigInteger.Finds the greatest common divisor of two BigInteger values.

public:
 static System::Numerics::BigInteger GreatestCommonDivisor(System::Numerics::BigInteger left, System::Numerics::BigInteger right);
public static System.Numerics.BigInteger GreatestCommonDivisor (System.Numerics.BigInteger left, System.Numerics.BigInteger right);
static member GreatestCommonDivisor : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function GreatestCommonDivisor (left As BigInteger, right As BigInteger) As BigInteger

Parámetros

left
BigInteger

Primer valor.The first value.

right
BigInteger

Segundo valor.The second value.

Devoluciones

Máximo común divisor de left y right.The greatest common divisor of left and right.

Ejemplos

En el ejemplo siguiente se muestra una llamada al método GreatestCommonDivisor y el control de excepciones necesario para proporcionar información útil sobre un ArgumentOutOfRangeException.The following example illustrates a call to the GreatestCommonDivisor method and the exception handling necessary to provide useful information about an ArgumentOutOfRangeException. El resultado indica que el máximo común divisor de estos dos números es 1.The result indicates that the greatest common divisor of these two numbers is 1.

BigInteger n1 = BigInteger.Pow(154382190, 3);
BigInteger n2 = BigInteger.Multiply(1643590, 166935);
try
{
   Console.WriteLine("The greatest common divisor of {0} and {1} is {2}.", 
                     n1, n2, BigInteger.GreatestCommonDivisor(n1, n2));
}
catch (ArgumentOutOfRangeException e)
{
   Console.WriteLine("Unable to calculate the greatest common divisor:");
   Console.WriteLine("   {0} is an invalid value for {1}", 
                     e.ActualValue, e.ParamName);
}
Dim n1 As BigInteger = BigInteger.Pow(154382190, 3)
Dim n2 As BigInteger = BigInteger.Multiply(1643590, 166935)
Try
   Console.WriteLine("The greatest common divisor of {0} and {1} is {2}.", _
                     n1, n2, BigInteger.GreatestCommonDivisor(n1, n2))
Catch e As ArgumentOutOfRangeException
   Console.WriteLine("Unable to calculate the greatest common divisor:")
   Console.WriteLine("   {0} is an invalid value for {1}", _
                     e.ActualValue, e.ParamName)
End Try                           

Comentarios

El máximo común divisor es el número más grande en el que se pueden dividir los dos valores BigInteger sin devolver un resto.The greatest common divisor is the largest number into which the two BigInteger values can be divided without returning a remainder.

Si los parámetros left y right son números distintos de cero, el método siempre devuelve al menos un valor de 1 porque todos los números se pueden dividir por 1.If the left and right parameters are non-zero numbers, the method always returns at least a value of 1 because all numbers can be divided by 1. Si alguno de los parámetros es cero, el método devuelve el valor absoluto del parámetro distinto de cero.If either parameter is zero, the method returns the absolute value of the non-zero parameter. Si ambos valores son cero, el método devuelve cero.If both values are zero, the method returns zero.

Nota

Calcular el máximo común divisor de valores muy grandes de left y right puede ser una operación que consume mucho tiempo.Computing the greatest common divisor of very large values of left and right can be a very time-consuming operation.

El valor devuelto por el método GreatestCommonDivisor es siempre positivo independientemente del signo de los parámetros left y right.The value returned by the GreatestCommonDivisor method is always positive regardless of the sign of the left and right parameters.

Se aplica a