Kotlin Programı İki Sayının OBE'sini Bulmak İçin

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

İ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: while döngüsünü kullanarak iki sayının OBEB değerini bulun

 fun main(args: Array) ( val n1 = 81 val n2 = 153 var gcd = 1 var i = 1 while (i <= n1 && i <= n2) ( // Checks if i is factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i ++i ) println("G.C.D of $n1 and $n2 is $gcd") )

Programı çalıştırdığınızda, çı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 while 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.

Java'nın aksine, bu sorun için koşullarla bir for döngüsü kullanamazsınız. İşte eşdeğer Java kodu: İki Sayıdan oluşan GCD'yi Bulmak için Java Programı.

GCD'yi Kotlin'de bulmak için aşağıdaki gibi daha iyi bir alternatif var:

Örnek 2: İki sayının OBEB'sini bulun (Daha İyi Alternatif)

 fun main(args: Array) ( var n1 = 81 var n2 = 153 while (n1 != n2) ( if (n1> n2) n1 -= n2 else n2 -= n1 ) println("G.C.D = $n1") )

Programı çalıştırdığınızda, çı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

 fun main(args: Array) ( var n1 = 81 var n2 = -153 // Always set to positive n1 = if (n1> 0) n1 else -n1 n2 = if (n2> 0) n2 else -n2 while (n1 != n2) ( if (n1> n2) n1 -= n2 else n2 -= n1 ) println("G.C.D = $n1") )

Programı çalıştırdığınızda, çıktı:

 OBEB = 9

Ilginç makaleler...