www.Primzahlen.de

Karsten Breit

BRT-Primzahlengenerator (22.05.2002)


Arbeitsweise | Systemanforderung | Ausblick | Download | zurück


1. Arbeitsweise

Neu in V1.5:

- Verbessertes Zeitverhalten.

- Platzsparendere Speicherung

- erzeugt ein Feld im Hauptspeicher, das die bisher ermittelten Primzahlen aufnimmt.

- Testet neue Zahl n auf Teilbarkeit durch alle Primzahlen p für die gilt: p

- fügt die neue Primzahl dem Feld hinzu

- der aktuelle Stand wird jeweils in 'primzahlen.dat' gespeichert.

- Der Algorithmus ist leider noch etwas langsam, hier einige Vergleichszahlen:

Gemessen auf einem AMD Athlon 800

000002 - 100000 5sek

100001 - 200000 6sek

200001 - 300000 6sek

300001 - 400000 7sek

400001 - 500000 7sek


2. Systemanforderung

- standardgemäß 15,26 MB Speicher im Heap für 4 Mio Primzahlen

- kann durch manuelles ändern der 'config.dat' variiert werden. (siehe Abschnitt: 'config.dat')


3. Arbeitsbereich

- Primzahl p < 2e32

- Anzahl der Primzahlen n<4.000.000

(kann manuell geändert werden, siehe Abschnitt: 'config.dat')


4. Troubleshooting

Nach gewaltsamem Abbruch des Programms, enthält die Datei 'primzahlen.dat' mehr Primzahlen, als in der 'config.dat' ausgewiesen ist. In diesem Fall, korrigiere den Eintrag in der 'config.dat' bitte manuell.(siehe Abschnitt: 'config.dat')


5. Dateien

brtprim.exe

- Binärdatei, erzeugt mit Borland C++ Compiler V.

primzahlen.dat (Wird beim ersten Start erzeugt)

- enthält die bisher erzeugten Primzahlen in der

>>>>Form<<<<

[Stelle] [Primzahl]

[Stelle] [Primzahl]

.

.

[Stelle] [Primzahl]

>>>>Ende<<<<

- wird falls vorhanden beim Programmstart importiert (kann bei enormer Größe einige Sekunden dauern)

- wird bei fehlender 'config.dat' automatisch neu erzeugt

config.dat (Wird beim ersten Start erzeugt)

- enthält die bisher ermittelten Primzahlen die 2e32 nicht überschreiten darf.

- enthält die Anzahl erzeugbaren Primzahlen die 2e32 nicht überschreiten darf.

>>>>Form<<<<

[Bisher erzeugte Primzahlen]

[Anzahlbegrenzung]

>>>>Ende<<<<


6. Ausblick

Geplant für die nächste Version ist die Aufhebung der 2e32-Beschränkung durch einsetzen eines neuen Datentyps (Bisher 'long').

Bedingt durch den hohen Bestand an Daten im Hauptspeicher, kann es bei x86 Prozessoren zu mehrdeutigkeiten in der Speicheradressierung kommen, was zu Fehlern in der Berechnung führen kann. Dies werde ich beheben, falls es die Laufzeit nicht wesentlich beeinträchtigt.

Die Notwendigkeit, nach einem manuellem Abbruch, die 'config.dat' zu ändern soll abgeschafft werden.

Eine Umwandlung der 'primzahl.dat' in mehrere untereinander verlinkte .html Files ist geplant.

Einige Details müssen verändert werden um das Programm für andere Betriebssysteme zu compilieren. Das plane ich zumindest für Linux bzw. Solaris Workstations.

Natürlich suche ich auch weiterhin nach alternativen Algorithmen die das Verfahren beschleunigen können. Besonders in diesem Punkt würde ich mich über Anregungen/Vorschläge freuen.


7. Download

Programm brtprim15.exe.zip (74kB)

Quelltext brtprim15.cpp.zip (2kB)

Readme readme.txt.zip (2kB)


8. Kontakt

Bei Fragen, Anregungen, Vorschlägen, Kritiken und Bug-Reports schickt mir bitte eine E-Mail (karsten.breit@web.de)



nach oben