Bagikan melalui


BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Metode

Definisi

Menemukan pembavisor umum terbesar dari dua BigInteger nilai.

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

Nilai pertama.

right
BigInteger

Nilai kedua.

Mengembalikan

Pembavis umum terbesar dari left dan right.

Contoh

Contoh berikut mengilustrasikan panggilan ke GreatestCommonDivisor metode dan penanganan pengecualian yang diperlukan untuk memberikan informasi yang ArgumentOutOfRangeExceptionberguna tentang . Hasilnya menunjukkan bahwa pembavisor umum terbesar dari kedua angka ini adalah 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);
}
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

Keterangan

Pembagi umum terbesar adalah angka terbesar di mana dua BigInteger nilai dapat dibagi tanpa mengembalikan sisanya.

left Jika parameter dan right bukan angka nol, metode selalu mengembalikan setidaknya nilai 1 karena semua angka dapat dibagi dengan 1. Jika salah satu parameter adalah nol, metode mengembalikan nilai absolut parameter non-nol. Jika kedua nilai adalah nol, metode mengembalikan nol.

Catatan

Menghitung pembabung umum terbesar dari nilai-nilai left yang sangat besar dan right dapat menjadi operasi yang sangat memakan waktu.

Nilai yang GreatestCommonDivisor dikembalikan oleh metode selalu positif terlepas dari left tanda parameter dan right .

Berlaku untuk