English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Vollständiges Beispiel für Kotlin
In diesem Programm lernen Sie, wie man in Kotlin den größten gemeinsamen Teiler (GCD) zweier Zahlen findet. Dies wird durch die Verwendung des while-Loops unter der Hilfe von if-else-Statement erreicht.
Der größte gemeinsame Teiler (GCD) oder HCF zweier Ganzzahlen ist der größte Ganzzahl, der zwei Zahlen genau teilt (ohne Rest).
fun main(args: Array<String>) { val n =1 = 81 val n =2 = 153 var gcd = 1 var i = 1 while (i <= n1 i <= n2) { //überprüfen Sie, ob i ein Faktor der beiden Ganzzahlen ist if (n1 i % i == 0 && i <= n2 i % i == 0 && n i % i == 0) ++gcd = i } i1println("$n2und $n }
Beim Ausführen dieses Programms wird ausgegeben:
81 der größte gemeinsame Teiler ist $gcd") 153 und 9 9
der größte gemeinsame Teiler ist1und n2in der. In diesem Fall werden die beiden Zahlen, deren größter gemeinsamer Teiler gesucht wird, in n
Dann führen Sie den for-Loop aus, bis i kleiner als n1und n2bis. Auf diese Weise, die Iteration1bis zu den kleinsten Zahlen der beiden Zahlen, um den größten gemeinsamen Teiler zu finden.
wenn n1und n2können durch i ganzzahlig geteilt werden, dann wird gcd auf die Zahl gesetzt. Dies wird fortgesetzt, bis die größte Zahl (GCD) gefunden wird, die n1und n2beide ohne Rest dividierbar sind.
Im Gegensatz zu Java können Sie keine bedingte for-Schleife verwenden, um dieses Problem zu lösen. Hier ist das äquivalente Java-Code:Java-Programm zur Suche nach dem GCD zweier Zahlen.
Eine bessere Methode, den GCD in Kotlin zu finden, ist wie folgt:
fun main(args: Array<String>) { var n1 = 81 var n2 = 153 while (n1 != n2) { if (n1 > n2") n1 -= n2 else n2 -= n1 } println("G.C.D = $n1") }
Beim Ausführen dieses Programms wird ausgegeben:
G.C.D = = 9
Dies ist eine bessere Methode zur Suche nach dem GCD. In dieser Methode wird das kleinere Ganzzahl von dem größeren Ganzzahl abgezogen und das Ergebnis wird der Variable zugewiesen, die das größere Ganzzahl speichert. Dieser Prozess wird fortgesetzt, bis n erreicht ist.1und n2gleich
Nur wenn der Benutzer positive ganze Zahlen eingibt, funktionieren die beiden obigen Programme wie erwartet. Dies ist eine Modifikation eines zweiten Beispiels, um den GCD von positiven und negativen Ganzzahlen zu finden.
fun main(args: Array<String>) { var n1 = 81 var n2 = -153 //Immer eine positive Zahl 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") }
Beim Ausführen dieses Programms wird ausgegeben:
G.C.D = = 9