BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Method

Определение

Находит наибольший общий делитель двух значений 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

Параметры

left
BigInteger BigInteger BigInteger BigInteger

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

right
BigInteger BigInteger BigInteger BigInteger

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

Возвраты

Наибольший общий делитель значений left и right.The greatest common divisor of left and right.

Примеры

В следующем примере показан вызов GreatestCommonDivisor метод обработке ошибок и исключений необходимо предоставить полезную информацию о ArgumentOutOfRangeException.The following example illustrates a call to the GreatestCommonDivisor method and the exception handling necessary to provide useful information about an ArgumentOutOfRangeException. Результат показывает, что наибольший общий делитель этих двух чисел равно 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                           

Комментарии

Наибольший общий делитель — наибольшее число, в котором два BigInteger значений можно разделить без остатка.The greatest common divisor is the largest number into which the two BigInteger values can be divided without returning a remainder.

Если left и right параметры являются числами ненулевое значение, метод всегда возвращает по крайней мере значение 1, так как все числа, которые могут быть разделены на 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. Если один из параметров равно нулю, метод возвращает абсолютное значение параметра ненулевое значение.If either parameter is zero, the method returns the absolute value of the non-zero parameter. Если оба значения равны нулю, метод возвращает 0.If both values are zero, the method returns zero.

Примечание

Наибольший общий делитель значений очень больших вычислений left и right может быть очень длительной операцией.Computing the greatest common divisor of very large values of left and right can be a very time-consuming operation.

Значение, возвращенное GreatestCommonDivisor метод всегда является положительным, независимо от того, знак left и right параметров.The value returned by the GreatestCommonDivisor method is always positive regardless of the sign of the left and right parameters.

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