Delphi-PRAXiS
Seite 9 von 9   « Erste     789   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Sehr schneller Primzahl-Finder (https://www.delphipraxis.net/34796-sehr-schneller-primzahl-finder.html)

Horst_ 22. Apr 2007 07:21

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

KarYn-To 28. Apr 2007 19:11

Re: Sehr schneller Primzahl-Finder
 
Ich versteh den Code nicht öÖ??? Aber ich hab eine Frage, weil ich sowas mal probiert habe.

Delphi-Quellcode:
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* *)
Führt das hier nicht im Endeffekt auch zum Erfolg ? Und was sind Sprungtabellen, etc. etc. etc. ?
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.
Seite 9 von 9   « Erste     789   

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