BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İki BigInteger değerin en büyük ortak böleni bulur.
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
Parametreler
- left
- BigInteger
İlk değer.
- right
- BigInteger
İkinci değer.
Döndürülenler
ve right
'nin en büyük ortak bölenileft
.
Örnekler
Aşağıdaki örnek, yöntemine yapılan çağrıyı GreatestCommonDivisor ve hakkında ArgumentOutOfRangeExceptionyararlı bilgiler sağlamak için gereken özel durum işlemeyi gösterir. Sonuç, bu iki sayının en büyük ortak bölenin 1 olduğunu gösterir.
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
Açıklamalar
En büyük ortak bölen, iki BigInteger değerin kalan değer döndürülmeden bölünebileceği en büyük sayıdır.
left
ve right
parametreleri sıfır olmayan sayılarsa, tüm sayılar 1'e bölünebileceğinden yöntem her zaman en az 1 değerini döndürür. Parametrelerden biri sıfırsa, yöntem sıfır olmayan parametrenin mutlak değerini döndürür. Her iki değer de sıfırsa, yöntem sıfır döndürür.
Not
ve değerlerinin en büyük ortak böleni left
right
hesaplama çok zaman alan bir işlem olabilir.
yöntemi tarafından GreatestCommonDivisor döndürülen değer, ve right
parametrelerinin işaretinden left
bağımsız olarak her zaman pozitiftir.