Zahlenfolge nochmal in umgekehrter Reihenfolge

Neue Frage »

Auf diesen Beitrag antworten »
RoseHeart Zahlenfolge nochmal in umgekehrter Reihenfolge

Hallo,
was muss ich hinzufügen, damit die Ergebnisse nochmal in umgekehrter Reihenfolge ausgegeben werden?

collatz (int n) {
Aus gabe(n);
if (n == 1) {
Ausgabe "Basisfall";
Ausgabe Zeilenumbruch;
}
else {
if (n ist gerade?) then collatz (n / 2);
else collatz (3*n + 1);
}
}

Irgendetwas mit return oder einfach den Code nochmal umgekehrt schreiben?
Vielen Dank im Voraus!
 
Auf diesen Beitrag antworten »
eulerscheZahl

Schreibe die Ausgabe einfach NACH den rekursiven Aufruf, statt davor.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
public class Main {
	public static void main(String[] paramArrayOfString) {
		collatz(23);
	}

	static void collatz(int n) {
		if (n == 1) {
			System.out.println("Basisfall");
		} else {
			if (n % 2 == 0)
				collatz(n / 2);
			else
				collatz(3 * n + 1);
		}
		System.out.println(n);
	}
}

Ausgabe:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Basisfall
1
2
4
8
16
5
10
20
40
80
160
53
106
35
70
23
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »