SORU
24 EKİM 2010, Pazar


Java: ortak bölenlerin en büyüğü olsun

Böyle bir fonksiyon BigInteger, 10 *yani* olduğunu gördüm. Ayrıca diğer türleri (int, long Integer) çalışan Java diğer işlevleri vardır? Bu java.lang.Math.gcd olarak mantıklı görünüyor (aşırı her türlü ile) ama yok. Başka bir yerde mi?


(Bu soru ile karıştırmayın "nasıl kendim uygularım", lütfen!)

CEVAP
24 EKİM 2010, Pazar


Bildiğim kadarıyla, yerleşik ilkel yöntem değil. Ama bu hile yapmak gerekir kadar basit:

public int GCD(int a, int b) {
   if (b==0) return a;
   return GCD(b,a%b);
}

Ayrıca eğer bu tür bir şey içine iseniz bir çizgi vardır:

public int GCD(int a, int b) { return b==0 ? a : GCD(b, a%b); }

Kesinlikle var olduğu unutulmamalıdırhayıronlar aynı bayt kodu derleme olarak ikisi arasında fark var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Phandroid

    Phandroid

    26 Ocak 2009
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012