Collatz
Eine schöne kleine Tatsache der Mathematik ist, dass einfache Regeln große Auswirkungen haben können. Zum Beispiel fragt die Collatz-Vermutung, ob zwei einfache Regeln jede ganze Zahl auf 1 reduzieren können.
Sie wird meist so formuliert:
- Bei geraden Zahlen: halbiere durch 2
- Bei ungeraden Zahlen: multipliziere mit 3 und addiere 1
Lass es uns testen!
Hinweis: Wenn dein Code in einen Timeout läuft, überprüfe sorgfältig die Logik der if-else-Anweisung (oder den Hinweis).
Diese Übung ist Teil des Kurses
Java für Fortgeschrittene
Anleitung zur Übung
- Gib die passende Abbruchbedingung ein.
- Rufe eine Methode auf, um zu prüfen, ob
ngerade ist. - Behandle den ungeraden Fall korrekt – dieser sollte nur ausgelöst werden, wenn das ursprüngliche
nungerade ist.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
class Collatz {
static boolean isEven(int n) {
return n % 2 == 0;
}
public static void main(String[] args) {
int n = 1634;
int i = 0;
System.out.print(n);
// Enter the appropriate termination condition
while (____) {
// Call a method to check if n is even
if (____(n)) {
System.out.println(" is even");
n /= 2;
} // Handle the odd case correctly. All non-even integers are odd
____ {
System.out.println(" is odd");
n = n * 3 + 1;
}
System.out.print(n);
i += 1;
}
System.out.println(" reached in " + i + " steps");
}
}