Einzelnen Beitrag anzeigen
Ungelesen 03.05.12, 17:31   #6
michederoide
The Cat
 
Benutzerbild von michederoide
 
Registriert seit: Nov 2009
Beiträge: 19
Bedankt: 525
michederoide ist noch neu hier! | 0 Respekt Punkte
Standard

@Robar666:

Bzgl. deines 1. Punktes: Für große Zahlen stimme ich dir zu. Wenn es aber grundsätzlich um eine Lösung geht, ist es natürlich am einfachsten zu implementieren, wenn man die Fibonacci-Folge bis zur größten der gegebenen Zahlen in ein Array speichert und dann überprüft, ob die gegebenen Zahlen ein "Teilarray" des errechneten Fibonacci-Arrays sind.

Gehen wir mal davon aus, dass das Programm nicht beendet wird, bevor weitere Folgen berechnet werden. Dann könnte man zur Laufzeit dasselbe Array mehrmals verwenden und notfalls erweitern, sobald noch größere Zahlen ankommen.

Man könnte das Programm dann sogar noch theoretisch so erweitern, dass es im Hintergrund (im separaten Thread) die Fibonacci-Folge "unendlich weit vorberechnet" und vor Beendigung das Ergebnis in einer Textdatei speichert.

Dann sieht die Performance wieder etwas besser aus, also bei jedem Start etwas besser (solange es dann nicht länger dauert, die Datei zu lesen, als die nächsten Zahlen zu berechnen).

Eine weitere Idee: Man könnte bestimmte, bereits abgefragte Folgen ebenfalls abspeichern und müsste so, wenn man die gleiche Folge zweimal abfrägt, nur in der Liste nachsehen, ob dort 'true' oder 'false' eingetragen ist.


Die ganzen Ideen sind jetzt vielleicht nicht so übersichtlich dargestellt. Ich habe einfach mal meinen Gedankenfluss textuell hier verewigt (und ich glaube, das kleine Programm schreib ich sogar gleich mal ^^).

LG
michederoide
michederoide ist offline   Mit Zitat antworten