BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Methode

Definition

Sucht den größten gemeinsamen Divisor von zwei BigInteger Werten.

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

Parameter

left
BigInteger

Der erste Wert.

right
BigInteger

Der zweite Wert.

Gibt zurück

Der größte gemeinsame Divisor von left und right.

Beispiele

Das folgende Beispiel veranschaulicht einen Aufruf der GreatestCommonDivisor Methode und die Ausnahmebehandlung, die erforderlich ist, um nützliche Informationen zu einem ArgumentOutOfRangeException. Das Ergebnis gibt an, dass der größte gemeinsame Divisor dieser beiden Zahlen 1 ist.

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);
}
let n1 = BigInteger.Pow(154382190, 3)
let n2 = BigInteger.Multiply(1643590, 166935)

try
    printfn $"The greatest common divisor of {n1} and {n2} is {BigInteger.GreatestCommonDivisor(n1, n2)}."
with :? ArgumentOutOfRangeException as e ->
    printfn $"Unable to calculate the greatest common divisor:"
    printfn $"   {e.ActualValue} is an invalid value for {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

Hinweise

Der größte gemeinsame Divisor ist die größte Zahl, in die die beiden BigInteger Werte aufgeteilt werden können, ohne einen Rest zurückzugeben.

Wenn es sich bei den left Parametern right um Nicht-Null-Zahlen handelt, gibt die Methode immer mindestens einen Wert von 1 zurück, da alle Zahlen durch 1 dividiert werden können. Wenn eines der Parameter null ist, gibt die Methode den absoluten Wert des Nicht-Null-Parameters zurück. Wenn beide Werte null sind, gibt die Methode null zurück.

Note

Das Berechnen des größten gemeinsamen Divisors von sehr großen Werten und leftright kann eine sehr zeitaufwendige Operation sein.

Der von der GreatestCommonDivisor Methode zurückgegebene Wert ist unabhängig vom Vorzeichen der left Methode right immer positiv (einschließlich Null).

Gilt für: