1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Fibonacci-Zahlen rekursiv

  • fleckiboy
  • 15. Oktober 2010 um 17:05
  • Unerledigt
  • fleckiboy
    4
    fleckiboy
    Mitglied
    Punkte
    100
    Beiträge
    13
    • 15. Oktober 2010 um 17:05
    • #1

    Hey, weiß nicht wies vielleicht den anderen Erstsemestlern im Prolog gegangen ist, vielleicht ist meine Frage auch sehr dumm oder so. Jedenfalls kann ich mir nicht vorstellen, dass jeder ohne Vorkenntnisse in java die Aufgabe mit der Fibonacci-Folge lösen konnte. Nach langem Herumprobieren und Suchen nach einem Algorithmus frage ich jetzt ganz einfach quer ins Forum hinein:

    WIE GEHT DAS??????? :mad::mad:

    Es geht darum das Element f(n) auszugeben, wenn f(n) = f(n-1) + f(n-2); meinem Verständnis nach soll aber nur die Zahl f(n) ausgegeben werden und nicht die komplette Folge bis zu dieser Zahl.

    "In der Informatik geht es genauso wenig um Computer, wie in der Astronomie um Teleskope."
    Edsger W. Dijkstra

    2 Mal editiert, zuletzt von fleckiboy (15. Oktober 2010 um 17:24)

  • maciej
    3
    maciej
    Mitglied
    Punkte
    50
    Beiträge
    10
    • 15. Oktober 2010 um 17:47
    • #2
    Zitat von fleckiboy


    Es geht darum das Element f(n) auszugeben, wenn f(n) = f(n-1) + f(n-2); meinem Verständnis nach soll aber nur die Zahl f(n) ausgegeben werden und nicht die komplette Folge bis zu dieser Zahl.

    Code
    public int fibonacci(int n) {
         if(n < 2) return 1;
         return fibonacci(n-1)+fibonacci(n-2);
    }

    lg, maciej

  • Paulchen
    1
    Paulchen
    Gast
    • 15. Oktober 2010 um 17:54
    • #3
    Zitat von maciej
    Code
    public int fibonacci(int n) {
         if(n < 2) return 1;
         return fibonacci(n-1)+fibonacci(n-2);
    }

    lg, maciej


    f[t]0[/t] ist aber 0 :winking_face:

  • polymorph10
    5
    polymorph10
    Mitglied
    Reaktionen
    20
    Punkte
    270
    Beiträge
    50
    • 15. Oktober 2010 um 17:57
    • #4

    Normalerweise ja, in der Angabe ist f(0) aber witzigerweise 1.

    Rekursion + Funktionen sind btw nicht Themen des Prologs (zumindest nehm ich das mal stark an),

    @Threadersteller: Ist mit einer einzigen for-Schleife lösbar.

    Edit: Vllt. noch ein paar Hinweise:

    Du hast zwei Startwerte gegeben und mit jeweils zwei Werten kannst du den darauffolgenden berechnen. Das heißt du kannst f(10) bspw. nicht direkt berechnen, sondern musst schrittweise vorgehen. Berechne aus den ersten zwei Werten f(2), darauffolgend f(3), ... bis du bei f(eingabe) bist; das gibst du dann aus. Verwenden kannst du bspw. zwei Variablen für die zwei Elemente, eine für das jeweilige Rechenergebnis und eine für das eingelesene n.

    Hinweis: ab f(46) wirst du falsche Werte haben wegen einem int-Überlauf.

    6 Mal editiert, zuletzt von polymorph10 (15. Oktober 2010 um 18:25) aus folgendem Grund: ...

  • maciej
    3
    maciej
    Mitglied
    Punkte
    50
    Beiträge
    10
    • 15. Oktober 2010 um 20:43
    • #5
    Zitat von Paulchen

    f[t]0[/t] ist aber 0 :winking_face:


    dann ersetze man eben "if(n <2) return 1;" durch "if(n<2) return n;" :)

  • fleckiboy
    4
    fleckiboy
    Mitglied
    Punkte
    100
    Beiträge
    13
    • 15. Oktober 2010 um 22:56
    • #6

    ok danke für eure hilfe

    Zitat

    Rekursion + Funktionen sind btw nicht Themen des Prologs (zumindest nehm ich das mal stark an)


    stimmt ja, deswegen war ich auch ein bisschen irritiert, den code den ihr mir gepostet habt hab ich auch schon im internet gefunden, wollte ihn aber nicht ganz einfach rauskopieren weil ich dachte vielleicht gibts eine lösung basierend auf den dingen die man im Prolog macht.
    jedenfalls danke!

    "In der Informatik geht es genauso wenig um Computer, wie in der Astronomie um Teleskope."
    Edsger W. Dijkstra

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung