rekursive Summenberechnung

Status
Nicht offen für weitere Antworten.
D

dark_Jeedee

Mitglied
Hi ich steh hier vor einem für mich unlösbaren problem.

Die Aufgabe lautet :

Entwickeln Sie eine rekursive Methode, die für einen positiven int Parameter n die Summe der ersten n Brüche 1/n als reelle Zahl zurückgibt.

Einer meiner kläglichen Versuche :


Code:
public static double add(int n)
{
if (n == 0)
{
return 0;
}
else
{

return (1/n)+(1/add(n-1));

}
}


ich hatte auch schon probiert mit math.pow(double n , -1)
und dann noch einen parameter x da rein zubringen das ich n-x habe und x dann hochzählen lasse aber das hat auch nicht geklappt.

Hoffe mir kann jemand helfen.

Gruß Tobi
 
Der Müde Joe

Der Müde Joe

Top Contributor
bei 0 kannst du nicht aufhören, da division durch 0 scheitert. Ein guter Zeitpunkt wäre 1.
Das add liefert schon 1/n + den nächsten Schritt: also 1/(n-1).
das 1/ (1/n-1) stimmt nicht. also reicht + add(n--)
 
D

dark_Jeedee

Mitglied
hey danke für die schnelle antwort. aber wenn ich den code so veränder

Code:
public static double add(int n)
{
if (n == 1)
{
return 1;
}
else
{

return (1/n)+ add(n--);

}

und das ganze dann zb für n = 4 durchlaufen lasse müsste irgendwas mit 2,08 rauskommen.
jedoch bekomm ich ne fehlermeldung "java.lang.StackOverflowError"
 
Der Müde Joe

Der Müde Joe

Top Contributor
hab den rasch bei mir getestet
Code:
    public static double add(int i){
        if(i == 1){
            return 1;
        }
        return 1d/i + add(--i);
    }

StackOverflow ja...bei so ca 5500
 
M

Marco13

Top Contributor
dark_Jeedee hat gesagt.:
hey danke für die schnelle antwort. aber wenn ich den code so veränder

Code:
...
return (1/n)+ add(n--);

Dort wird ERST n an 'add' übergeben, und DANACH wird n um 1 verringert. Mit

return (1/n)+ add(--n); // Erst verringern, dann übergeben
oder
return (1/n)+ add(n-1); // Das Verringerte übergeben

würde es funktionieren
 
D

dark_Jeedee

Mitglied
guten morgen danke der code funktioniert jedoch müsste mir noch einer
erklären
Code:
return 1d/i + add(--i);
warum da ein "d" steht. dann bin ich glücklich ^^.
 
schalentier

schalentier

Gesperrter Benutzer
Wenn du das "d" weglaesst, dividiert Java 2 Integer, was in deinem Falle (n>=1) immer 0 liefern wuerde. Das "d" sagt dem Compiler, eine double 1 zu nehmen.

Du koenntest auch "1.0" oder "1." schreiben.

An deiner Stelle wuerde ich auch anstatt
Code:
return 1d/i + add(--i);

folgendes schreiben:

Code:
return 1d/i + add( i-1 );

Zudem wird ab einem entsprechend grossem i das Ergebnis mehr oder weniger stark verfaelscht. Du solltest dir deshalb mal die Klasse "BigDecimal" ansehen. Damit wird zwar alles langsamer, dafuer aber genau(er).
 
D

dark_Jeedee

Mitglied
kk mach ich vielen dank. ich bin nur erstmal froh dass die aufgabe abgearbeitet ist ^^
 
D

dark_Jeedee

Mitglied
hi ihr da draußen.
ich steh vor dem nächsten problem :oops:

Mein Problem ist erstmal das ich nichtmal einen Pseudocode zu dieser Aufgabe aufstellen kann.

Aufgabe:

Schreiben Sie eine rekursive Methode, die alle Zeichenketten mit drei Buchstaben ausgibt, die
aus den genetischen Codes A, C, G und T bestehen. ¨Uberlegen Sie zun¨achst, wie Sie alle Folgen
aus zwei Buchstaben erzeugen k¨onnen und erweitern Sie dann die gefundene L¨osung.
Die Ausgabe soll folgendes Aussehen haben: AAA AAC AAG AAT ACA ACC ACG ACT
AGA AGC usw.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Rekursive Methode mit 2 Aufrufen Java Basics - Anfänger-Themen 1
J Rekursive Folge (a=a-1) Java Basics - Anfänger-Themen 9
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
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
shiroX OOP Rekursive und Iterative Definition Java Basics - Anfänger-Themen 2
B Methoden Rekursive Methoden Java Basics - Anfänger-Themen 2
T Iterative Pi Berechnung in Rekursive 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
A Rekursive Methode in Iterative umwandeln Java Basics - Anfänger-Themen 6
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
L iterative und rekursive Folge Java Basics - Anfänger-Themen 20
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
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 u iterative Methode Java Basics - Anfänger-Themen 8
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
Mxxxt Unverständnis bei Summenberechnung Gauß vs. For Java Basics - Anfänger-Themen 2
U problem bei summenberechnung Java Basics - Anfänger-Themen 2
C Summenberechnung in while Schleife Java Basics - Anfänger-Themen 4
S Summenberechnung Java Basics - Anfänger-Themen 15

Ähnliche Java Themen


Oben