MudGuard: Logik !?

Beitrag lesen

Hi,

Und als generelle Anmerkung zur Umsetzung der Aufgabe: Es ist immer noch Wahnsinn und sinnloses Verbraten von Rechenleistung, _alle_ Zahlen jeweils _einzeln_ auf ihre Primeigenschaft zu prüfen. Besser wäre da eigentlich, z.B. das Sieb des Erastosthenes anzuwenden: Man beginnt bei 2, die eine Primzahl ist, und streicht alle Vielfachen von 2. Dann kommt 3, und man streicht alle Vielfachen von 3. Die 4 ist gestrichen, nächste Primzahl ist 5 - Streichen aller Vielfachen von 5, und so weiter. Das ist mit Sicherheit schneller.

Es ist eine Frage, was Dir wichtiger ist - Speicherplatz oder Rechenleistung.

Eine Mischung erscheint mir ganz sinnvoll:
Man merkt sich die gefundenen Primzahlen.
Und teilt dann nicht mehr durch alle Zahlen von 2 bis sqrt(x), sondern nur durch die gefundenen Primzahlen von 2 bis sqrt(x).
Das reduziert die benötigte Rechenleistung, da nicht mehr sinnlos durch z.B. 4 oder 6 geteilt wird - wenn das ohne Rest möglich wäre, wäre ja schon beim  Teilen durch 2 oder 3 herausgekommen, daß es sich nicht um eine Primzahl handelt.

Auf der Suche nach immer größeren Primzahlen werden wohl allerdings noch ganz andere Methoden angewandt, die ich nicht kenne.

Das ist u.a. davon abhängig, was das Ziel ist:
festzustellen, ob die Zahl x eine Primzahl ist
oder
(irgend)eine Primzahl zwischen y und z zu finden...

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/