BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Метод

Определение

Находит наибольший общий делитель двух значений BigInteger.

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

Параметры

left
BigInteger

Первое значение в вычитании.

right
BigInteger

Второе значение в вычитании.

Возвращаемое значение

BigInteger

Наибольший общий делитель значений left и right.

Примеры

В следующем примере показан вызов метода и обработка исключений GreatestCommonDivisor , необходимых для предоставления полезных сведений о объекте ArgumentOutOfRangeException. Результат указывает, что наибольший общий делитель этих двух чисел равен 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

Комментарии

Наибольший общий делитель — это наибольшее число, на которое можно разделить два BigInteger значения, не возвращая остатка.

Если значения left и right параметры не равны нулю, метод всегда возвращает по крайней мере значение 1, так как все числа могут быть разделены на 1. Если любой из параметров равен нулю, метод возвращает абсолютное значение параметра, отличного от нуля. Если оба значения равны нулю, метод возвращает ноль.

Примечание

Вычисление наибольшего общего делителя очень больших значений left и right может быть очень трудоемкой операцией.

Значение, возвращаемое методом GreatestCommonDivisor , всегда является положительным независимо от знака left и right параметров.

Применяется к