| | Das Kontraxiom Primzahlen
 Zusammenfassung: Nachdem ich bei einem firmeninternen Programmierwettbewerb 
             zum möglichst schnellen Auffinden und Anzeigen der Primzahlen bis 
             100.000.000 mit Abstand gewonnen hatte und in kürzester Zeit ein 
             Verfahren - ich taufte es "Kiebart-Kamm" - fand, welches 
             sich in der Geschwindigkeit gegenüber dem Sieb des Eratosthenes 
             auszeichnete, beschäftigten mich die Primzahlen weiterhin.  
               |   | 
 Im Internet fand ich eine Organisation www.mersenne.org, 
                die auf der ganzen Welt Computerkapazität suchte, um weitere 
                Mersenneprimzahlen zu finden. Da die besonders großen Exemplare 
                für Verschlüsselungsmechanismen wertvoll sind, sind hier auch 
                Preise von über 100 Tausend Dollar Finderlohn ausgesetzt. So 
                sind Tausende von Computern auch jetzt, wenn Sie diesen Text 
                lesen, damit beschäftigt, neue Mersenneprimzahlen zu finden. Zusammen mit Herrn Willi Jeschke www.primini.de 
                habe ich mich in die Welt der Primzahlen begeben. Wir fanden 
                neue Eigenschaften der Primzahlen und arbeiteten uns in immer 
                tiefer gelegene Sphären der Mathematik ein. So entstand die Software "Magie der Primzahlen", 
                die kostenlos im Internet www.euroware.de 
                herunter geladen werden kann. Ich beschreibe an dieser Stelle einige Algorithmen, die in dieser 
          Software verwirklicht wurden. 8 von 30 Bei der Speicherung und der Bearbeitung werden nur die Zahlen 
          betrachtet, die nicht durch die Faktoren 2, 3 und 5 teilbar 
          sind. Betrachten wir die Zahlen bis 30 (=2*3*5), so werden nur 8 
          Zahlen als mögliche Primzahlen erkannt. Es sind dies: 1, 7, 11, 13, 17, 19, 23, 29 Wenn man auf diese 8 Zahlen 30 addiert, erhält man: 31, 37, 41, 43, 47, 49, 53, 59 und wenn man weitere 30er-Vielfache 
          addiert, sieht man 61, 67, 71, 73, 77, 79, 83, 8991, 97, 101, 103, 107, 109, 113, 119
 121, 127, 131, 133, 137, 139, 143, 149 usw.
 Wenn man diese Zahlenfolge fortsetzt, beinhaltet diese alle 
          möglichen Primzahlen bis auf die ersten drei (2, 3, 5). Einige dieser 
          Zahlen müssen allerdings noch gestrichen werden, da sie 
          zusammengesetzt sind. Zur Speicherung der Primzahlen nutzt man einfacherweise ein Byte 
          (=8 Bit) zur Darstellung eines 30er Zahlenbereichs. Jedes Bit 
          entspricht damit einer einzelnen Zahl aus dem eben beschriebenen 
          Muster. Nummeriert man die einzelnen Bytes beginnend mit 0, so errechnet 
          sich die Bedeutung eines einzelnen Bits durch: Bytenummer * 30 + {1; 7; 11; 13; 17; 19; 23; 29}    Die Primzahlen bis 100 Millionen lassen sich so durch ca. 3,3 MB 
          Speicher darstellen. Der Kiebart-Kamm Der Kiebartkamm beschreibt ein Verfahren, in dem jede Nichtprimzahl 
          innerhalb der Bitspeicherung genau einmal markiert wird. Zuerst wird die 1 als Nichtprimzahl markiert. Von nun an gelten 
          alle Bits als "Nochprimzahlen". Die erste Nochprimzahl wird 
          mit der zweiten Nochprimzahl multipliziert und das Produkt (im 
          entsprechenden Bit) als Nichtprim markiert. 7*11 = 77 Mit der 7 werden nun alle Produkte mit Nochprimzahlen gebildet und 
          als zusammengesetzt (Nichtprim) markiert.7*13=91
 7*17=119
 7*19=133
 usw. bis zur berechnenden Grenze
 Wir fahren fort mit der nächsten Nochprimzahl (11) als Basis für 
          die Produktbildung und streichen11*13
 11*17
 11*19
 11*23
 usw.
 Wir setzen das Verfahren fort mit der Basis 13, 17, 19 usw. 
          solange, bis die erste Produktbildung einen Wert über die zu bildende 
          Grenze ergibt. (alternativ solange, wie Basis <= Wurzel aus Grenze) Wenn wir uns jetzt die verbleibenden Zahlen anschauen, sind dort 
          nur noch Primzahlen + Quadratzahlen! enthalten. Um weiterhin jedes Bit nur einmal zu markieren, wird die Wurzel aus 
          der Grenze berechnet und ab dieser Stelle der Bitspeicher rückwärts 
          bearbeitet. Zu jeder Nochprimzahl wird das Quadrat gebildet und 
          gestrichen. Ein Zählen der Primzahlen innerhalb der vorgegebenen Grenze wird 
          auf folgendem einfachen Weg möglich: Summe aller Bits - Markierte Nichtprims + 3 (für die Primzahlen 2, 
          3, 5) Während dem Markieren von Nichtprims ist es also ratsam, diese zu 
          zählen.
 Mersenneprimzahlen, Mersennezahlen siehe eigene Seite hier klicken         
 
            
           |