Teilen über


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 sind, um nützliche Informationen zu einem ArgumentOutOfRangeExceptionbereitzustellen. 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 unterteilt werden können, ohne einen Rest zurückzugeben.

Wenn die left Parameter und right ungleich null Zahlen sind, gibt die Methode immer mindestens den Wert 1 zurück, da alle Zahlen durch 1 geteilt werden können. Wenn beide Parameter 0 sind, gibt die Methode den absoluten Wert des Parameters ungleich 0 zurück. Wenn beide Werte 0 sind, gibt die Methode null zurück.

Hinweis

Das Berechnen des größten gemeinsamen Divisors von sehr großen Werten von left und right kann ein sehr zeitaufwendiger Vorgang sein.

Der von der GreatestCommonDivisor -Methode zurückgegebene Wert ist unabhängig vom Vorzeichen der Parameter und right immer left positiv.

Gilt für: