Menu
Coddy logo textTech

Verschachtelte Schleifen

Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 41 von 75.

Eine verschachtelte Schleife ist einfach eine Schleife innerhalb einer anderen Schleife. Die innere Schleife durchläuft alle ihre Iterationen für jede einzelne Iteration der äußeren Schleife. Eine gute Analogie hierfür ist eine Uhr: Für jede Stunde (äußere Schleife) muss der Minutenzeiger (innere Schleife) seinen vollständigen 60-Minuten-Zyklus durchlaufen.

Beispiel für eine verschachtelte Schleife:

for x in 0..2 {
    for y in 0..2 {
        println!("{} {}", x, y);
    }
}
// Dies wird Folgendes ausgeben:
// 0 0
// 0 1
// 1 0
// 1 1

Die äußere Schleife (x) läuft zweimal, und bei jedem dieser Durchläufe läuft die innere Schleife (y) zweimal.

challenge icon

Aufgabe

Anfänger

Schreiben Sie ein Programm, das alle Zahlentripel findet, die sich zu n addieren, wobei Zahlen von 1 bis n - 1 verwendet werden. Das Programm sollte alle möglichen Kombinationen anzeigen, bei denen die erste Zahl kleiner oder gleich der zweiten Zahl ist und die zweite Zahl kleiner oder gleich der dritten Zahl ist (d. h. in nicht absteigender Reihenfolge). Dies stellt sicher, dass wir keine doppelten Tripel wie "1 2 7" und "2 1 7" haben, die denselben Zahlensatz darstellen.

Wenn zum Beispiel n = 10 ist, sollte die Ausgabe wie folgt aussehen:

1 1 8
1 2 7
1 3 6
1 4 5
2 2 6
2 3 5
2 4 4
3 3 4

Weil:

1 + 1 + 8 = 10
1 + 2 + 7 = 10
1 + 3 + 6 = 10
1 + 4 + 5 = 10
2 + 2 + 6 = 10
2 + 3 + 5 = 10
2 + 4 + 4 = 10
3 + 3 + 4 = 10

Reihenfolge der Ausgabe: Die Tripel sollten in aufsteigender Reihenfolge ausgegeben werden. Die erste Zahl sollte vom kleinsten zum größten Wert iterieren, und für jede erste Zahl sollte die zweite Zahl von der ersten Zahl bis zum maximal gültigen Wert iterieren, um sicherzustellen, dass a ≤ b ≤ c gilt.

Spickzettel

Eine verschachtelte Schleife ist eine Schleife innerhalb einer anderen Schleife. Die innere Schleife schließt alle ihre Iterationen für jede einzelne Iteration der äußeren Schleife ab.

Grundlegende Struktur einer verschachtelten Schleife:

for x in 0..2 {
    for y in 0..2 {
        println!("{} {}", x, y);
    }
}
// Ausgabe:
// 0 0
// 0 1
// 1 0
// 1 1

Die äußere Schleife läuft vollständig durch, und für jede Iteration der äußeren Schleife durchläuft die innere Schleife ihren vollständigen Zyklus.

Probier es selbst

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let n: i32 = input.trim().parse().unwrap();
    // Schreibe deinen Code unten

}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals