BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Methode

Definitie

Hiermee vindt u de grootste gemene deler van twee BigInteger waarden.

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

Parameters

left
BigInteger

De eerste waarde.

right
BigInteger

De tweede waarde.

Retouren

De grootste gemene deler van left en right.

Voorbeelden

In het volgende voorbeeld ziet u een aanroep van de GreatestCommonDivisor methode en de afhandeling van uitzonderingen die nodig zijn om nuttige informatie over een ArgumentOutOfRangeException. Het resultaat geeft aan dat de grootste gemene deler van deze twee getallen 1 is.

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

Opmerkingen

De grootste gemene deler is het grootste getal waarin de twee BigInteger waarden kunnen worden verdeeld zonder een restgetal te retourneren.

Als de left en right parameters niet-nul getallen zijn, retourneert de methode altijd ten minste een waarde van 1, omdat alle getallen kunnen worden gedeeld door 1. Als een van de parameters nul is, retourneert de methode de absolute waarde van de parameter niet-nul. Als beide waarden nul zijn, retourneert de methode nul.

Note

Het berekenen van de grootste gemene deler van zeer grote waarden van left en right kan een zeer tijdrovende bewerking zijn.

De waarde die door de GreatestCommonDivisor methode wordt geretourneerd, is altijd positief (inclusief nul), ongeacht het teken van de left en right parameters.

Van toepassing op