AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fibonacci-Zahlen

Ein Thema von glkgereon · begonnen am 11. Apr 2005 · letzter Beitrag vom 26. Mai 2008
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#11

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 16:17
Zitat von malo:
Nur mal so, aber was sind Fibonacci-Zahlen?
Guckst du: http://de.wikipedia.org/wiki/Fibonacci-Zahlen
Ich frag mich warum Daniel wohl den wiki-Button eingebaut hat

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 16:19
Zitat von malo:
Nur mal so, aber was sind Fibonacci-Zahlen?
Schau mal hier: Fibonacci-Zahlen

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 16:38
Ob for-Schleife oder rekursiv. Aber auf jeden Fall sollte das gleiche Ergebnis rauskommen. Tuts in diesem Fall aber nicht
Also irgendwer hat sich da wohl vertan.
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 16:50
So wie ich das sehe (experimentiert) ist das von Leddl richtig
Benjamin
  Mit Zitat antworten Zitat
Elite
(Gast)

n/a Beiträge
 
#15

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 16:59
Zitat von Jelly:
Aber auf jeden Fall sollte das gleiche Ergebnis rauskommen.
Das wär allerdings nicht schlecht. Mit dieser Funktion dürftest du aber auch das Gewünschte erreichen:
Delphi-Quellcode:
function fibonacci(Index : Integer) : Int64;
begin
  result := round((1/sqrt(5))*(power((1+sqrt(5))/2, index-1)-power((1-sqrt(5))/2,index-1)));
end;
Keine Rekursion und keine Schleife, sondern reine Mathematik.


Edit: Diese Version geht davon aus, dass die Fibonacci-Zahlenreihenfolge bei 0 und nicht bei 1 beginnt. (Definitionssache je nach Problemstellung)
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 17:02
Hehe, da sieht man wieder, was Rekursion so alles bringen kann. Das Ergebnis kann - schon wenn man nur einen Blick auf den Code wirft - eigentlich nur richtig sein.
Und besser langsam und richtig, als schnell und falsch!
Das Problem an glkgereon's Code ist, daß nach dem ersten Aufruf Last immer gleich Result ist, und somit Result immer einfach nur verdoppelt wird. Aber das ist eben in so ner Schleife nicht sofort zu erkennen. Aber das hatte mich heute schon einmal irritiert.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 17:14
So,

jetzt habt ihr den Thread so schön zerredet das die lieben Code-Manager sicher nicht mehr wissen was sie nun in die Code-Library aufnhemen sollen und was nicht
Herzlichen Glückwunsch
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#18

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 17:15
hier findet man das:
Delphi-Quellcode:
procedure Fibonacci(von: integer): int64;
var
  alt, uralt: int64;
  i: integer;
begin
  alt := 0;
  result := 1;
  for i := 2 to von do begin
    uralt := alt;
    alt := result;
    result := uralt + alt;
  end;
end;
und

Delphi-Quellcode:
procedure Fibonacci(von: integer): integer;
asm
    MOV EDX, von
    SUB EDX, 1
    MOV EAX, 0 //alt
    MOV EBX, 1 //neu
    JZ @@end
    @@1:
    MOV ECX, EAX
    MOV EAX, EBX
    MOV EBX, EAX
    ADD EBX, ECX
    SUB EDX, 1
    CMP EDX, 1
    JAE @@1
    @@end:
    MOV result, EBX
end;
@Elite: Ich weiß nicht mehr genau, aber wird die Formel nach ziemlich großen Zahlen nicht etwas ungenau? (Ich weiß bloß noch, dassma mal durch Annäherung was ähnliches rausgekriegt ham)
Und durch ein inc(Index) dürft das Problem mit Beginn bei 0 oder 1 geklärt sein

@Sharky: Man kann ja alle 4 Versionen hinzufügen (Rekursiv, Iterativ, Iterativ ASM und Formel)
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#19

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 17:21
ok, also meins funzt jetzt auch.

ich werd, wenns recht is, die versionen in nem neuen thread nochmal reinstellen.

werd alle eigentlichen autoren nennen, und'n performance-test machen vorher.

das asm endet imho in ner endlosschleife....mein prog hängt sich dabei einfach auf...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#20

Re: Fibonacci-Zahlen

  Alt 11. Apr 2005, 18:07
irgendwie hängen die asm und die rekursive ziemlich!!!

oder mach ich was falsch?

irgendwie funkt das net
Angehängte Dateien
Dateityp: rar fibb_277.rar (4,3 KB, 13x aufgerufen)
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz