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
Второе значение в вычитании.
Возвращаемое значение
Наибольший общий делитель значений 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
параметров.