In diesem Programm lernen Sie, GCD mit zwei Zahlen in Kotlin zu finden. Dies erfolgt mithilfe der while-Schleife mit Hilfe der if else-Anweisung.
Die HCF oder GCD von zwei ganzen Zahlen ist die größte ganze Zahl, die beide Zahlen genau teilen kann (ohne Rest).
Beispiel 1: Ermitteln Sie die GCD zweier Zahlen mithilfe der while-Schleife
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") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Die GCD von 81 und 153 beträgt 9
Hier sind zwei Zahlen, deren GCD zu finden sind, in n1 bzw. n2 gespeichert.
Dann wird eine while-Schleife ausgeführt, bis i kleiner als n1 und n2 ist. Auf diese Weise werden alle Zahlen zwischen 1 und der kleinsten der beiden Zahlen iteriert, um die GCD zu finden.
Wenn sowohl n1 als auch n2 durch i teilbar sind, wird gcd auf die Zahl gesetzt. Dies geht so lange weiter, bis die größte Zahl (GCD) gefunden wird, die n1 und n2 ohne Rest teilt.
Im Gegensatz zu Java können Sie keine for-Schleife mit Bedingungen für dieses Problem verwenden. Hier ist der entsprechende Java-Code: Java-Programm zum Suchen von GCD mit zwei Zahlen.
Es gibt eine bessere Alternative, um GCD in Kotlin wie folgt zu finden:
Beispiel 2: Finden Sie eine GCD mit zwei Zahlen (bessere 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") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
GCD = 9
Dies ist ein besserer Weg, um die GCD zu finden. Bei diesem Verfahren wird eine kleinere Ganzzahl von der größeren Ganzzahl subtrahiert, und das Ergebnis wird der Variablen zugewiesen, die eine größere Ganzzahl enthält. Dieser Vorgang wird fortgesetzt, bis n1 und n2 gleich sind.
Die beiden oben genannten Programme funktionieren nur dann wie vorgesehen, wenn der Benutzer positive Ganzzahlen eingibt. Hier ist eine kleine Modifikation des zweiten Beispiels, um die GCD für positive und negative ganze Zahlen zu finden.
Beispiel 3: GCD für positive und negative Zahlen
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") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
GCD = 9