İki Sayıdan oluşan GCD'yi Bulmak için Java Programı

Bu programda, Kotlin'de iki sayıdan oluşan GCD'yi bulmayı öğreneceksiniz. Bu, if else ifadelerinin yardımıyla for ve while döngüleri kullanılarak yapılır.

Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:

  • Java if… else İfadesi
  • Döngü için Java
  • Java sırasında ve yap… Döngü sırasında

İki tam sayının HCF veya GCD'si, her iki sayıyı da tam olarak bölen (kalan olmadan) en büyük tam sayıdır.

Örnek 1: for döngüsü ve if ifadesini kullanarak iki sayının OBEB değerini bulun

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i==0 && n2 % i==0) gcd = i; ) System.out.printf("G.C.D of %d and %d is %d", n1, n2, gcd); ) )

Çıktı

 81 ve 153'ün OBEB değeri 9'dur

Burada OBEB'si bulunacak iki sayı sırasıyla n1 ve n2'de saklanır.

Daha sonra, i hem n1 hem de n2'den küçük olana kadar bir for döngüsü yürütülür. Bu şekilde, iki sayıdan 1 ile en küçüğü arasındaki tüm sayılar, OBEB'yi bulmak için yinelenir.

Hem n1 hem de n2 i ile bölünebiliyorsa, gcd sayıya ayarlanır. Bu, hem n1 hem de n2'yi kalan olmadan bölen en büyük sayıyı (OBEB) bulana kadar devam eder.

Bu sorunu bir while döngüsü kullanarak da aşağıdaki gibi çözebiliriz:

Örnek 2: while döngüsü ve if else ifadesini kullanarak iki sayının OBEB değerini bulun

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Çıktı

 OBEB = 9

Bu, GCD'yi bulmanın daha iyi bir yoludur. Bu yöntemde, daha küçük tam sayı, büyük tam sayıdan çıkarılır ve sonuç, daha büyük tamsayıyı tutan değişkene atanır. Bu süreç n1 ve n2 eşit olana kadar devam eder.

Yukarıdaki iki program, yalnızca kullanıcı pozitif tamsayılar girerse amaçlandığı gibi çalışır. İşte hem pozitif hem de negatif tam sayılar için OBEB'yi bulmak için ikinci örnekte küçük bir değişiklik.

Örnek 3: Hem pozitif hem de negatif sayılar için OBEB

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = -153; // Always set to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Çıktı

 OBEB = 9

Ilginç makaleler...