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 - 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') - Primzahl p < 2e32 - Anzahl der Primzahlen n<4.000.000 (kann manuell geändert werden, siehe Abschnitt: 'config.dat') 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') 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<<<< 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. Programm brtprim15.exe.zip (74kB) Quelltext brtprim15.cpp.zip (2kB) Bei Fragen, Anregungen, Vorschlägen, Kritiken und Bug-Reports schickt mir bitte eine E-Mail (karsten.breit@web.de)
2. Systemanforderung
3. Arbeitsbereich
4. Troubleshooting
5. Dateien
6. Ausblick
7. Download
8. Kontakt