Kotlin-program för att hitta GCD med två nummer

I det här programmet lär du dig att hitta GCD med två siffror i Kotlin. Detta görs genom att använda while loop med hjälp av if else-uttalandet.

HCF eller GCD för två heltal är det största heltalet som exakt kan dela båda siffrorna (utan en rest).

Exempel 1: Hitta GCD med två nummer med hjälp av en loop

 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") )

När du kör programmet blir resultatet:

 GCD 81 och 153 är 9

Här lagras två nummer vars GCD finns i n1 respektive n2.

Sedan körs en stundslinga tills jag är mindre än både n1 och n2. På så sätt upprepas alla siffror mellan 1 och minsta av de två siffrorna för att hitta GCD.

Om både n1 och n2 är delbara med i ställs gcd in på talet. Detta fortsätter tills det hittar det största numret (GCD) som delar både n1 och n2 utan resten.

Till skillnad från Java kan du inte använda en for-loop med villkor för detta problem. Här är motsvarande Java-kod: Java-program för att hitta GCD med två nummer.

Det finns ett bättre alternativ för att hitta GCD i Kotlin enligt följande:

Exempel 2: Hitta GCD med två siffror (Better Alternative)

 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") )

När du kör programmet blir resultatet:

 GCD = 9

Detta är ett bättre sätt att hitta GCD. I denna metod subtraheras mindre heltal från det större heltalet och resultatet tilldelas variabeln som innehåller större heltal. Denna process fortsätter tills n1 och n2 är lika.

Ovanstående två program fungerar bara som avsett om användaren anger positiva heltal. Här är en liten modifiering av det andra exemplet för att hitta GCD för både positiva och negativa heltal.

Exempel 3: GCD för både positiva och negativa siffror

 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") )

När du kör programmet blir resultatet:

 GCD = 9

Intressanta artiklar...