Mit der Automatikfunktion erhalten Sie ein sehr
schnelles Instrument, um das Cockpit betriebsbereit zu schalten, um
alle anderen Funktionen direkt nach ca. einer Sekunde zur Verfügung
zu haben
Wenn Sie das Programm erstmalig betreiben, hat
die Automatikfunktion nur die Wirkung, dass von den 3 vorhandenen
Verfahren zur Primzahlenermittlung automatisch das schnellste
genommen wird - das ist der Kiebart-Kamm.
Aber auch der Kiebart-Kamm braucht für einen Primärbereich von
2.000.000.000 bei einem 1,5 GHz - Rechner schon über eine Minute.
Wenn Sie diese "Tortur" = 1 Minute Untätigkeit vor dem
Bildschirm hinter sich haben, gibt es die Möglichkeit, alle
ermittelten Primzahlen auf Ihrer Platte zu speichern. Erschrecken
Sie nicht: Die ca. 98 Millionen Primzahlen, die bei den oben
genannten Werten ermittelt werden, belegen auf Ihrer Platte ca. 65
MB. Wenn Sie nachrechnen, wie man 98 Millionen Zahlen (überwiegend
9-stellig) in 65 Millionen Bytes speichern kann, werden Sie
feststellen, dass dies eigentlich nicht funktionieren kann. Und es
funktioniert auch nicht, wenn man alle Zahlen als einzelnes Bit
speichert und Primzahlen und Nichtprimzahlen mit 0 oder 1
kennzeichnet. In diesem Fall braucht man 2 Mrd. / 8 also 250
Millionen Bytes (250 MB). Der hier verwendete Trick beruht darauf,
dass die Primzahlen ab 7 sich auf eine beschränkte Anzahl von
Möglichkeiten beschränken, wenn man alle Zahlen, die durch 2, 3
oder 5 teilbar sind, nicht speichert.
Diese periodische Zahlenreihe hat
glücklicherweise genau 8 Zahlen und lässt sich so sehr gut in
einem Byte mit 8 Bit darstellen.
Dieses Muster setzt sich ab 30 fort: 31
37 41 43 47 49 53 59
61 67 usw.
Also benötigen wir zur Speicherung von 30
Zahlen (die Bits entscheiden über Prim oder NoPrim) exakt ein
einzelnes Byte.
Die in dieser Software verwendete interne
Primzahlenverarbeitung und Speicherung basiert komplett auf diesem
Muster. Egal, ob Sie die Primzahlen mit dem bekannten
Eratosthenes-Sieb oder mit dem schnelleren Verfahren von Sascha
Pfaller oder mit dem Kiebart-Kamm ermitteln lassen. Dadurch lassen
sich auch auf Rechnern mit einem Hauptspeicher von (nur) 256 MB
schon recht ansehnliche Ergebnisse erzielen.
Die interne Speicherung ist dynamisch
angelegt. Wenn Sie das Programm starten, wird erstmal überhaupt
kein Platz für die Speicherung Ihres zukünftigen Primzahlbestands
benötigt. Das Programm "expandiert" allerdings, sobald
Sie den Primärbereich festgelegt und eine Primzahlermittlung
gestartet haben. Wenn Sie mit dem Sekundär-Bereich, der ja bei
dieser Software bis 4 Trillionen (4 x 10^18) reicht, arbeiten, wird
der Speicherbedarf max. um ca. 35 MB höher.
Statt die Primzahlen nicht jedes mal neu zu
ermitteln, speichern Sie diese einfach auf Ihrer Platte im gleichen
Verzeichnis, indem sich diese Primzahlen-Software
befindet.
Im Haupt-Menu
des Cockpits sehen Sie die Speicher- und die Lademöglichkeit.
Die Software schlägt Ihnen einen Dateinamen vor, falls sie
erkennt, dass der Bestand, den Sie speichern für die
Automatik brauchbar ist. Für andere Zwecke können Sie aber
jeden beliebigen Namen nehmen und auch jedes Verzeichnis Ihrer
Platte einstellen.
"Brauchbar" für die Automatik ist jeder Bereich,
der mit einer Ziffer startet und ansonsten nur noch Nullen
hat.
Der vorgeschlagene Name für einen Bereich von 2 Mrd. lautet:
P092.BLK
Das heißt nichts anderes als 09 Nullen mit vorangestellter 2. |
|
|
|
Wundern Sie sich bitte nicht über die
Speicher- und Ladegeschwindigkeit, denn die Bits werden nicht
einzeln auf die Platte geschrieben ;-)
Funktionsweise der Automatik
Nachdem Sie den Primärbereich festgelegt
haben und den Automatik-Button geklickt haben, wird nach einem
"passenden" Primzahlenblock im Installationsverzeichnis
gesucht.
Beispiel: Sie hatten noch etwas Platz auf
Ihrer Platte und haben einen einzigen Primzahlenblock für den
Bereich bis 100.000.000 (100 Millionen) gespeichert. Dieser hat den
Dateinamen: P081.BLK und belegt ca. 3,2 MB (Zur Erinnerung: 8 Nullen
mit vorangestellter 1)
Wenn Sie Ihr Cockpit nun starten und
entscheiden sich aus welchen Gründen auch immer, den Primärbereich
auf 55.333.200 zu stellen und wählen die Automatik, so wird ein
passender Primzahlenblock "automatisch" gefunden und
geladen. Das dauert Bruchteile von Sekunden.
Geben Sie als Primärgrenze allerdings 120.000.000
ein, wird der Kiebart-Kamm gestartet und sie müssen warten... bis
die Primzahlen ermittelt sind. Bei 1,5 GHz 3 - 4
Sekunden.
Empfehlung:
Legen Sie sich einen sehr großen
Primzahlenblock mit der Grenze von mindestens 2 Mrd. an. Der passt
meistens...
;-)
|