Registriert seit: 28. Jul 2003
1.528 Beiträge
Delphi 2005 Personal
|
Re: Primfaktorzerlegung läuft viel zu langsam...
28. Feb 2007, 13:39
Es würde mich wundern, wenn das der Fall wäre. Ich bin davon ausgegangen, dass der Compiler sieht, dass x innerhalb der Schleife nicht geändert wird und daher das floor(Sqrt(x)) nur einmal berechnet und sich merkt.
Inwiefern soll sqrt ungenau sein? Um ganz sicher zu gehen könnte man floor noch mit ceil austauschen, dann ist man auf der sicheren Seite, so lange sqrt keinen Fehler macht der größer als 1 ist :)
Und für Zahlen, bei denen ein so großer Fehler auftreten kann, sollte diese Art der Überprüfung auch nicht angewendet werden.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
|