Hilfe! Rekursion

Status
Nicht offen für weitere Antworten.

JavaTrottel

Mitglied
Hey Leute, ich bin neu und leider kein Java auf diesem laptop installiert, kann mir jemand helfen und den Quelltext schreiben? :rtfm:
Ich brauche für die Methode fakultat(n) die rekursive
und die iterative Lösung.
fakultaet(n) //Berechnet die Fakultät von n
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von n * fakultaet(n - 1)
 

JavaTrottel

Mitglied
Ja, undzwar :
Wie implementiere ich die Lösung in Java?
und wie lade ich mir die Entwicklungsumgebung für Java runter?
 

njans

Top Contributor
Du googlest nach JDK und lädst es dir runter. Anschließend downloadest und installierst du Eclipse.

dann erstellst du ein neues Projekt und dort eine Klasse. Dann schreibst du eine Methode, die genau das macht, was deine Aufgabe vorgibt. Dann rufst du diese Methode in der main-Methode deiner Klasse auf und gibst das Ergebnis auf die Konsole aus.

fertig.
 

JavaTrottel

Mitglied
Ok, weiterhin brauche ich hierbei Hilfe, ich soll ein Aufrufschema dieser Methode aufschreiben und wieviele rekursive Aufrufe stattfinden.
"
zweihoch(3)
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von 2 * zweihoch(3 - 1)
"
(die 3 war eine n aber soll jetzt 3 sein)

so weit bin ich
AUSGABE:
8


wie ihr seht habe ich momentan kaum ahnung. Kann mir jemand helfen?
die nächste aufgabe ist ähnlich "Erstellen Sie für die Methode summe(n) ein Aufrufschema mit n = 4, also
summe(4). Wie viele rekursive Aufrufe finden jeweils statt?
Was ist das Ergebnis?
summe(n) //Berechnet die Summe der natürlichen Zahlen bis n (1+2+3+4+…+n)
WENN n = 0
gib den Wert 0 zurück
SONST gib den Wert von n + summe(n - 1) zurück "
 

JavaTrottel

Mitglied
Unwahrscheinlich. Dann müssten wir ja deine Hausaufgaben machen.

Ohne Eigeninitiative bleibt Dir nur die Job-Börse.

Was bist du für ein arrogantes Stück S*****e?
Ich frage doch wie ich die aufgabe weitermachen soll und hab gezeigt wie weit ich bin
"
zweihoch(3)
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von 2 * zweihoch(3 - 1)
"
(die 3 war eine n aber soll jetzt 3 sein)

so weit bin ich
AUSGABE:
8
dir bleibt wohl nur meine Faust.
Ohne Eigeninitiative würde ich hier nicht posten, was ist für dich so schwer daran mir zu helfen?
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
Uhhh... Ich werte das mal als "ErstiStess" vor der ersten Abgabe der Hausaufgaben ;) - Falls das chronisch wird, würde ich es behadeln lassen.

---

Das was du postest ist die Aufgabenstellung. Du benötigst, wie es oben steht eine IDE oder zumindest JDK.

Hast du das?
 
Zuletzt bearbeitet:

JavaTrottel

Mitglied
Hast du verstanden dass ich außer für die Aufgabe ganz oben nur das Aufrufschemata brauche, also die Ausgabe?
Würdest du mir in diesem Fall helfen und sagen welche Ausgabe als nächstes kommt, da ich nicht wirklich weiß ob die 8 überhaupt richtig ist, ich muss doch zumindest mal einen Anfang machen um zu verstehen wie das abläuft.
JDK kann ich auf diesem Laptop leider garnicht installieren, ich versuch einfach im Editor ein Quellcode dazu zu erstellen, aber ich brauch einfach einen richtigen Start, kannst du mir da helfen?
 

JavaMeister

Gesperrter Benutzer
Alle diese Aufgaben sind gleich.

Das Aufrufschema ist eine Rekursion...

Wenn ich das hier habe:

fakultaet(n) //Berechnet die Fakultät von n
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von n * fakultaet(n - 1)

Dann muss ich nur den Text lesen:


fakultaet(5)

Ist n = 0? Nein. Also 5 * fakultaet(5 - 1);
Ist n = 0? Nein. Also 4 * fakultaet(4 - 1);
Ist n = 0? Nein. Also 3 * fakultaet(3 - 1);
Ist n = 0? Nein. Also 2 * fakultaet(2 - 1);
Ist n = 0? Nein. Also 1 * fakultaet(1 - 1);
Ist n = 0? Ja, dann 1.

Und nun Rückwärts.

Das Ergebnis von fakultaet(1 - 1) = 1. Also steht da 1 * 1;
Das Ergebnis von fakultaet(2 - 1) = 1. Also steht da 2 * 1;
Das Ergebnis von fakultaet(2 - 1) = 2. Also steht da 3 * 2;

u.s.w.
 

JavaTrottel

Mitglied
Alle diese Aufgaben sind gleich.

Das Aufrufschema ist eine Rekursion...

Wenn ich das hier habe:

fakultaet(n) //Berechnet die Fakultät von n
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von n * fakultaet(n - 1)

Dann muss ich nur den Text lesen:


fakultaet(5)

Ist n = 0? Nein. Also 5 * fakultaet(5 - 1);
Ist n = 0? Nein. Also 4 * fakultaet(4 - 1);
Ist n = 0? Nein. Also 3 * fakultaet(3 - 1);
Ist n = 0? Nein. Also 2 * fakultaet(2 - 1);
Ist n = 0? Nein. Also 1 * fakultaet(1 - 1);
Ist n = 0? Ja, dann 1.

Und nun Rückwärts.

Das Ergebnis von fakultaet(1 - 1) = 1. Also steht da 1 * 1;
Das Ergebnis von fakultaet(2 - 1) = 1. Also steht da 2 * 1;
Das Ergebnis von fakultaet(2 - 1) = 2. Also steht da 3 * 2;

u.s.w.

Danke, ich versuche das in einem Online Editor in Quellcode umzusetzen
public class Fakultaet{

public static void main(String []args){
public static void main(String []args){
int n = ''
fakultaet(n) //Berechnet die Fakultät von n
if { n = 0
return 1
}else{ n * fakultaet(n - 1)

}
}
Kannst du gucken ob das hier richtig ist und ggf. die weitere Ausgabe sagen?

zweihoch(3)
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von 2 * zweihoch(3 - 1)

AUSGABE:
8



summe(4) //Berechnet die Summe der natürlichen Zahlen bis n (1+2+3+4+…+n)
WENN n = 0
gib den Wert 0 zurück
SONST gib den Wert von n + summe(n - 1) zurück


AUSGABE:
10+45


Ich blick echt nicht ganz durch muss ich dir sagen.
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
Ich blick echt nicht ganz durch muss ich dir sagen.


Das macht nix. Zwischen meiner Antwort und deiner Rückfrage, sind gerade mal 5 Minuten verstrichen. Für mich wäre das auch eine knappe Zeit zu verstehen, wie das geht.

Die Syntax deiner Fakultät scheint auch eher willkürlich zu sein ;D
 
Zuletzt bearbeitet:

Moro

Mitglied
Die Lösung steht ja praktisch schon in der Aufgabenstellung. Lässt sich 1zu1 in Code übertragen.
Nachvollziehen wirst du wohl selbst hinbekommen, einfach mal ein Blatt Papier nehmen und eine Fakultät mit Hilfe des Codes per Hand ausrechnen.


Java:
public static int fkt(int n){
    
        return (n == 0)
                ? 1 
                : n * fkt(n-1);
    }
 
Zuletzt bearbeitet:

JavaTrottel

Mitglied
Die Lösung steht ja praktisch schon in der Aufgabenstellung. Lässt sich 1zu1 in Code übertragen.
Nachvollziehen wirst du wohl selbst hinbekommen, einfach mal ein Blatt Papier nehmen und eine Fakultät mit Hilfe des Codes per Hand ausrechnen.


Java:
public static int fkt(int n){
    
        return (n == 0)
                ? 1 
                : n * fkt(n-1);
    }
Das ist doch kaum die Lösung wenn da keine Schleife vorkommt oder?
Die Aufgabenstellung lautet
Erstellen Sie für die Methode fakultat(n) zwei Struktogramme für die rekursive
und die iterative Lösung.
Implementieren Sie beide Lösungen in Java.
 

JavaMeister

Gesperrter Benutzer
Hast du verstanden dass ich außer für die Aufgabe ganz oben nur das Aufrufschemata brauche, also die Ausgabe?

Öhhh.... Und dann poste ich das aufruf Schema... Und dann..

Vorallem weil das was du geschrieben hast nichts mit meiner Aufgabe zu tun hat du Trottel.

Außerdem denke ich, dass es langsam chronisch wird ;)

Das ist doch kaum die Lösung wenn da keine Schleife vorkommt oder?

Das ist auch der rekursive Fall..
 
Zuletzt bearbeitet:

JavaTrottel

Mitglied
Kannst du überhaupt lesen?
Das Schema für alles AUßER der oberen Aufgabe, lern lesen du Nase.
S***** Forenkind statt zu helfen stellst du dich dumm.

"Rekursiver Fall" sagst du, was soll denn zB bitte das
" ? 1
: n * fkt(n-1);" ?
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
Alle diese Aufgaben sind gleich.

Ja und du regst dich darüber total auf ^^, vermutlich weil du mit Kritik nicht umgehen kannst. - Wir machen hier keine Hausaufgaben... Aber wir helfen dabei.

---
"Rekursiver Fall" sagst du, was soll denn zB bitte das
" ? 1
: n * fkt(n-1);" ?

Das ist ein tenärer Vergleichsoperator. Auch eine nette Falle für alle Java-Neulinge.

Java:
if(n == 0) 
   return 1;
else 
   return n * fkt(n-1);
 
Zuletzt bearbeitet:

JavaTrottel

Mitglied
Man alter hilf mir doch worum ich dich gebeten habe, die Ausgabe von "zweihoch(3)
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von 2 * zweihoch(3 - 1)

AUSGABE:
8



summe(4) //Berechnet die Summe der natürlichen Zahlen bis n (1+2+3+4+…+n)
WENN n = 0
gib den Wert 0 zurück
SONST gib den Wert von n + summe(n - 1) zurück


AUSGABE:
10+45
"


Bei was anderem kannst du einfach nicht helfen, merk schon kiddo.
 

JavaTrottel

Mitglied
Die Lösung steht ja praktisch schon in der Aufgabenstellung. Lässt sich 1zu1 in Code übertragen.
Nachvollziehen wirst du wohl selbst hinbekommen, einfach mal ein Blatt Papier nehmen und eine Fakultät mit Hilfe des Codes per Hand ausrechnen.


Java:
public static int fkt(int n){
    
        return (n == 0)
                ? 1 
                : n * fkt(n-1);
    }

Eine Rekursion besteht ja darin, dass eine Funktion sich selber aufruft. Eine Schleife braucht man dafür nicht.

Ich versteh den Quelltext an der Stelle "? 1
: n * fkt(n-1);" nicht, was soll das fragezeichen und die 1 ?
 

JavaMeister

Gesperrter Benutzer
Ich versteh den Quelltext an der Stelle "? 1
: n * fkt(n-1);" nicht, was soll das fragezeichen und die 1 ?

Ihr postet zu schnell.. Beachte mein Edit oben ;)

http://www.java-forum.org/java-basics-anfaenger-themen/163629-hilfe-rekursion.html#post1038418

---

Bei was anderem kannst du einfach nicht helfen, merk schon kiddo.

Du gehst die Sache total falsch an. Dafür bietet das Forum nicht genügend Funktionen, um drei Aufgaben parallel in einem Thread zu lösen.

Konzentreire dich auf eine... Alle anderen sind gleich, sie haben nur unterschiedliche Operatoren.
 
Zuletzt bearbeitet:

JavaTrottel

Mitglied
Ok du hast wahrscheinlich Recht, ich sage dir mal einfach ganz ehrlich wie weit ich bin, ich habe
public static int fkt(int n){

return (n == 0)
if(n == 0)
return 1;
else
return n * fkt(n-1);
}
als rekursive Lösung, brauche noch die iterative aber vllt reicht es auch momentan , beides werde ich dann Morgen richtig in Java implementieren, habe dazu momentan einfach keine Möglichkeit.
Kannst du mir bei den oberen Ausgaben helfen, ich brauche wirklich nur die Ausgabe von den oben stehenden, kannst du mir wenigstens sagen ob die in dei richtige richtung gehen? :shock:?
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
Ok du hast meine Lösung in ein Posting kopiert ;D - Super.

Du benötigst nun die Iterative Lösung... Da muss was mit schleifen kommen... Wie Berechnet sich den die Fakulät von 5 so allgemein?

---

beides werde ich dann Morgen richtig in Java implementieren, habe dazu momentan einfach keine Möglichkeit.

Das kann ich leider nicht ganz nachvollziehen. ;) Denn Java läuft auf über 30 Millionen Geräten. Warum nicht auf deinem?
 
Zuletzt bearbeitet:

JavaTrottel

Mitglied
Doch dann kann ich mir das herleiten.
Ok wenn du schon da nicht helfen willst sag mir ob die Ausgabe hier korrekt ist
zweihoch(3)
WENN n = 0
gib den Wert 1 zurück
SONST gib den Wert von 2 * zweihoch(3 - 1)

AUSGABE:
8



summe(4) //Berechnet die Summe der natürlichen Zahlen bis n (1+2+3+4+…+n)
WENN n = 0
gib den Wert 0 zurück
SONST gib den Wert von n + summe(n - 1) zurück


AUSGABE:
10+45
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Hilfe bei Rekursion... Java Basics - Anfänger-Themen 4
M Bitte um Hilfe bei Quellcode (Rekursion) Java Basics - Anfänger-Themen 6
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
P Hilfe zur Rekursion? Java Basics - Anfänger-Themen 2
D Hilfe bei Rekursion!! Prüfungsfrage Java Basics - Anfänger-Themen 6
G rekursion.hilfe. Java Basics - Anfänger-Themen 6
G [Rekursion] Newbie-Hilfe Java Basics - Anfänger-Themen 12
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
Neuling47 bräuchte dringend hilfe Java Basics - Anfänger-Themen 6
D Bräuchte Hilfe im Bezug zum printarray() Java Basics - Anfänger-Themen 4
M Bitte um Hilfe bei 2DArrays Java Basics - Anfänger-Themen 8
HeiTim Array hilfe Java Basics - Anfänger-Themen 14
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
özkan hilfe!! Java Basics - Anfänger-Themen 4
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
D Abrechnung bitte um hilfe Java Basics - Anfänger-Themen 25
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
N Hilfe bei der Installation Java Basics - Anfänger-Themen 2
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
S Hilfe bei Programmierung einer Hotelabrechnung Java Basics - Anfänger-Themen 5
enjoykimii Strukturierte Programmierung Hilfe Java Basics - Anfänger-Themen 29
H Bräuchte hilfe Java Basics - Anfänger-Themen 3
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
H Brauche Hilfe Java Basics - Anfänger-Themen 2
D Dijkstra Algorithmus Hilfe!! Java Basics - Anfänger-Themen 9
H Hilfe Java Basics - Anfänger-Themen 6
H Brauche hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
kevkev Hilfe bei Schiffe versenken Java Basics - Anfänger-Themen 5
FelixxF Erste Schritte Hilfe bei Fußball Manager Java Basics - Anfänger-Themen 2
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
josfe1234 Hilfe access denied ("java.io.FilePermission" " " "read") Java Basics - Anfänger-Themen 12
Vivien Hilfe bei Type Conversion Java Basics - Anfänger-Themen 3
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
N Laufzeitberechnung - dringende Hilfe! Java Basics - Anfänger-Themen 1
G Java Hilfe Java Basics - Anfänger-Themen 3
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
LeonDerStudent Hilfe bei Uniprojekt Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 6
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
R Hilfe bei removeduplicates Java Basics - Anfänger-Themen 5
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben