English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin-Programm zur Suche nach dem größten gemeinsamen Teiler (GCD) zweier Zahlen

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

Beispiel1: Suchen Sie den größten gemeinsamen Teiler (GCD) zweier Zahlen mit dem while-Loop

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:

Beispiel2:查找两个数字的GCD(更好的代替方法)

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.

Beispiel3:GCD von positiven und negativen Zahlen

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

Vollständiges Beispiel für Kotlin