Re: Sehr schneller Primzahl-Finder
Hallo,
Es geht doch noch schneller (erst seit 2003? ;-) ) EcPrime1.4 ist aber in C++ geschrieben. Das siebt alle Primzahlen von 1 bis 1e9 in 1.4 Sekunden statt 2.6 (alzaimar's delphi Version von primgen97) (Pentium M 1.7 Ghz, WinXp) meine Tp-Verion mit Delphi7 kompiliert 7.6 s (2.5s nur für's zählen :-) da sind die anderen fertig ) Ich kann mir nicht vorstellen, dass der Übergang von C++ nach Delphi die Zeiten halbieren sollte. Gruß Horst |
Re: Sehr schneller Primzahl-Finder
Ich versteh den Code nicht öÖ??? Aber ich hab eine Frage, weil ich sowas mal probiert habe.
Delphi-Quellcode:
Führt das hier nicht im Endeffekt auch zum Erfolg ? Und was sind Sprungtabellen, etc. etc. etc. ?
function GetPrimes: Integer;
var Max, X, Y, Z, Temp, Prim: Integer; begin With Form1 Do Begin X := 2; Z := 0; Max := 20000; For Y := 2 To Max Do lPrime.Items.Add(IntToStr(Y)); While Z <> lPrime.Items.Count - 1 Do Begin Prim := StrToInt(lPrime.Items.Strings[Z]); While (X*Prim) < (Max + Prim) Do Begin Temp := X * Prim; lPrime.Items.Delete(lPrime.Items.IndexOf(IntToStr(Temp))); X := X + 1; End; Z := Z + 1; X := 2; Application.ProcessMessages; End; End; end; (* Der Code macht nichts anderes als alle Zahlen von 2 bis Max in die ListBox lPrime einzutragen und dann mit der zwei zu Beginnen und alle anderen Werte rauszustreichen *) (* Der obige Code ist nur Schwachsinn und eh Fehlerhaft... *hust* *) Hoffe auf Antwort ! EDIT: <~ Bitte schlagt die Unwissenden nicht =) Sorrrrrrrry... das hier ist hohe Entwicklungskunst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 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