OOP Rekursive und Iterative Definition

shiroX

shiroX

Mitglied
Hallo liebe Gemeinde, ich hoffe ihr könnt mir helfen.

Ich scheitere bei einer Hausübung für die Uni an einer eigentlich simplen Aufgabe, aber irgendwie stehe ich auf dem Schlauch. Wir sollen für eine Definition eine rekursive und eine iterative Lösung schreiben. Die rekursive ist denkbar einfach, diese habe ich auch ohne Probleme hinbekommen, und zwar diese hier:

Java:
public class Aufgabe6b {

	public static void main(String[] args) {
		int n = 3;
		System.out.println("Ergebnis ist: "+fRek(n));
		
		
	}
			
		public static int fRek (int n){
			if (n <= 0){
				return 1;
			
				}else if (n == 1){
					return 2;
					
					}else if (n > 1){
						return 4*fRek(n-2)-1;
							//4 * fRek(3-2)-1 4*fRek(1)-1;
							// = 4 * 2 = 8 - 1 = 7
					}
			return n;
			
			
		}
	}

So, nun bekomme ich aber die iterative Lösung irgendwie nicht hin weil die Zahl die ich möchte nicht rauskommt, wenn ich die Funktion nicht nochmal aufrufe, hier mein Lösungsansatz iterativ:

Java:
public class Aufgabe6c {

	public static void main(String[] args) {
		int n = 1;
		System.out.println("Ergebnis ist: "+fRek(n));

	}
		public static int fRek(int n){
			for (int i=0; i<=n; i++){
				if (n<=0){
					return 1;
				}
				if (n == 1){
					return 2;
				}
				if (n > 1){
					return 4*(n-2)-1;
				}
				
			}
			return n;
			
		}
}

Also wenn ich n = 0 oder n = 1 setze dann kommt auch der richtige return-Wert, allerdings fehlt unten noch irgendwas, damit bei n=3 z.B. ebenfalls 7 rauskommt - aber ich komme irgendwie nicht drauf.
Vielleicht könnt ihr mir ja helfen.

Danke im Voraus

Gruß Max
 
njans

njans

Top Contributor
Also die Returns in der Schleife werden dir sicherlich nicht helfen.
Du musst dir eigentlich immer nur die letzten 2 Zahlen speichern, damit du den nächsten berechnen kannst.

a: n = 0 => 1
b: n = 1 => 2
c: n = 2 => 4 * a - 1
d: n = 3 => 4 * b - 1
e: n = 4 => 4 * c - 1
f: n = 5 => 4 * d - 1

Du benötigst immer die letzten zwei werte und kannst dann aus dem kleineren von beiden den Nächsten berechnen.
 
K

klauskarambulut

Bekanntes Mitglied
a: n = 0 => 1
b: n = 1 => 2
c: n = 2 => 4 * a - 1
d: n = 3 => 4 * b - 1
e: n = 4 => 4 * c - 1
f: n = 5 => 4 * d - 1

Ist doch schonmal ein Ansatz.
Jetzt das ganze noch splitten in Gerade und ungerade Zahlen.

Gerade:
a: n = 0 => 1
c: n = 2 => 4 * a - 1
e: n = 4 => 4 * c - 1

Ungerade
b: n = 1 => 2
d: n = 3 => 4 * b - 1
f: n = 5 => 4 * d - 1

Berechnung von Geraden Zahlen hat nichts mit ungeraden zu tun.

Gerade:
a: n = 0 => 1
c: n = 2 => 3
e: n = 4 => 11

Ungerade
b: n = 1 => 2
d: n = 3 => 7
f: n = 5 => 27

if(n % 2 == 0){
int sum = 1;
for(int i = 0; i<n; i=i+2) {
sum = 4 * sum - 1;
}
return sum;
} else {
int sum = 2;
for(int i = 1; i<n; i=i+2) {
sum = 4 * sum - 1;
}
return sum;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Iterative Pi Berechnung in Rekursive Java Basics - Anfänger-Themen 2
A Rekursive Methode in Iterative umwandeln Java Basics - Anfänger-Themen 6
L iterative und rekursive Folge Java Basics - Anfänger-Themen 20
G rekursive u iterative Methode Java Basics - Anfänger-Themen 8
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
M Rekursive Prüfung ob ein Array sortiert ist... Java Basics - Anfänger-Themen 4
J Rekursive swapArray Methode Java Basics - Anfänger-Themen 69
D Rekursive Methode Java Basics - Anfänger-Themen 8
R Methoden rekursive Methoden Java Basics - Anfänger-Themen 6
O Quersumme rekursive Methode Java Basics - Anfänger-Themen 3
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
M Rekursive Methode Programmieren Java Basics - Anfänger-Themen 3
J rekursive Methode Java Basics - Anfänger-Themen 26
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
J Rekursive Methode - Ziffern einer Zahl ausgeben Java Basics - Anfänger-Themen 2
M Rekursive Dateiliste erstellen mit Dateiendung(en) ?? Java Basics - Anfänger-Themen 4
S Rekursive Methode Java Basics - Anfänger-Themen 8
O Rekursive Methode Java Basics - Anfänger-Themen 4
V Methoden Rekursive Methode mit String als Rückgabe Java Basics - Anfänger-Themen 7
K Rekursive Methode Java Basics - Anfänger-Themen 1
K Rekursive Methode für Fakultät mit BigInteger Java Basics - Anfänger-Themen 10
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
L Rekursive Methode zur Berechnung der Potenz q hoch p Java Basics - Anfänger-Themen 17
J Methoden Rekursive Return Methode Java Basics - Anfänger-Themen 2
G Harmonische Rekursive Folge Java Basics - Anfänger-Themen 3
T Stack Overflow - Rekursive Fibonacci Java Basics - Anfänger-Themen 10
B Datentypen Suchbaum - Rekursive Ausgabe Java Basics - Anfänger-Themen 1
P Methoden Rekursive Methode für Potenzen Java Basics - Anfänger-Themen 2
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
B Rekursive Algorithmus schreiben Java Basics - Anfänger-Themen 8
S Eine rekursive Lösung Java Basics - Anfänger-Themen 4
S Int zu Hexadezimal - Rekursive Methode Java Basics - Anfänger-Themen 2
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
N Rekursive Addition mit Scanner Java Basics - Anfänger-Themen 12
B Methoden Rekursive Methoden Java Basics - Anfänger-Themen 2
C rekursive methode Java Basics - Anfänger-Themen 2
D Methoden Rekursive Methoden Java Basics - Anfänger-Themen 13
R rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
M Stürzen alle Rekursive Methoden irgendwann ab? Java Basics - Anfänger-Themen 11
D Primzahlen und Rekursive Liste Java Basics - Anfänger-Themen 29
R Rekursive Methode, Files finden Java Basics - Anfänger-Themen 2
S rekursive folge verbessern Java Basics - Anfänger-Themen 2
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
S Methoden rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
E Rekursive Methode Java Basics - Anfänger-Themen 3
N Methoden Rekursive Fibonaccizahlen mit Array Java Basics - Anfänger-Themen 2
R Rekursive Ausgabe eines Binärbaums Java Basics - Anfänger-Themen 4
J Methoden Rekursive Potenz ohne Math.Pow() Java Basics - Anfänger-Themen 9
S Labyrith Rekursive Wegsuche Java Basics - Anfänger-Themen 4
C Rekursive Methode - Ziffern in Zahl Java Basics - Anfänger-Themen 33
U Dezimal zu Hexadezimal rekursive Funktion Java Basics - Anfänger-Themen 8
M rekursive Funktion zur Berechnung der Spiegelzahl Java Basics - Anfänger-Themen 7
G Rekursive Methode Java Basics - Anfänger-Themen 3
A rekursive Listen in Java? Java Basics - Anfänger-Themen 5
B OOP Einfach verkettete Liste - rekursive Methoden Java Basics - Anfänger-Themen 1
E Rekursive Methode mit Zufallsarray Java Basics - Anfänger-Themen 6
E Rekursive Methode Java Basics - Anfänger-Themen 18
U Rekursive lösung von pascal dreieck Java Basics - Anfänger-Themen 11
M Rekursive Methode - wo ist der Fehler? Java Basics - Anfänger-Themen 4
J rekursive methode Java Basics - Anfänger-Themen 6
H ScrollBar inaktiv / Rekursive Methode Java Basics - Anfänger-Themen 4
J Rekursive Methode Java Basics - Anfänger-Themen 11
G Rekursive Methode Java Basics - Anfänger-Themen 5
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
K Rekursive Methoden Java Basics - Anfänger-Themen 15
K Rekursive Funktion (Verständnissfrage) Java Basics - Anfänger-Themen 5
S Rekursive Bruch potenzierung Java Basics - Anfänger-Themen 2
D rekursive Summenberechnung Java Basics - Anfänger-Themen 8
J Rekursive Methode: Fakultaet berechnen Java Basics - Anfänger-Themen 5
E Rekursive definierten Folge Java Basics - Anfänger-Themen 10
A HILFE! Rekursive Funktion Java Basics - Anfänger-Themen 20
kulturfenster rekursive Binaere Suche Java Basics - Anfänger-Themen 12
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
G Rekursive Berechnung von n über k schlägt fehl Java Basics - Anfänger-Themen 5
B Rekursive & schreiben im ArrayList Java Basics - Anfänger-Themen 2
J Rekursive Fkt. Java Basics - Anfänger-Themen 2
A Rekursive Dateisuche Java Basics - Anfänger-Themen 12
K rekursive Funktion mit mehreren Parametern Java Basics - Anfänger-Themen 5
G rekursive Methode Java Basics - Anfänger-Themen 3
N rekursive Beispiele Java Basics - Anfänger-Themen 3
G Rekursive Methode Java Basics - Anfänger-Themen 7
ven000m Rekursive Funktionen - Frage Java Basics - Anfänger-Themen 16
D rekursive ausgabe einer zahl Java Basics - Anfänger-Themen 14
S Rekursive Funktionen in imperative Funktionen umwandeln Java Basics - Anfänger-Themen 2
M Rekursive Binärsuche Java Basics - Anfänger-Themen 6
S rekursive methoden Java Basics - Anfänger-Themen 5
F Erste Schritte Hausaufgaben-Prob. - Iterative Prog. Zahlen aufsummieren, wenn durch k>0 teilbar. Java Basics - Anfänger-Themen 5
C Lineare Rekursion -> iterative Schleife Java Basics - Anfänger-Themen 3
T Iterative Berechnung einer Satellitenbahn Java Basics - Anfänger-Themen 20
P iterative Berechnung Java Basics - Anfänger-Themen 9
R Differenz Iterative Java Basics - Anfänger-Themen 14
R Summe Iterative Java Basics - Anfänger-Themen 6
Yjuq Generic Methode - Wie muss die List Definition aussehen? Java Basics - Anfänger-Themen 3
W OOP Definition / Abgrenzung dynamische Bindung Java Basics - Anfänger-Themen 11
D Methoden Definition einer Methode Java Basics - Anfänger-Themen 3
M Datentypen Java Datentyp Definition Java Basics - Anfänger-Themen 6
S Erste Schritte Suche nach einem guten JAVA-Buch (Definition im Thread) Java Basics - Anfänger-Themen 6
S Methoden Klassen Definition - Methodenaufruf Java Basics - Anfänger-Themen 7
J definition / deklaration Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige


Oben