Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Mathematik

1 Mio Primzahlen berechnen

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.Redakteurytwinky 05.02.2012

volta hat im Externer Link!deutschen Forum mal ein Programm vorgestellt, mit dem 1 Mio
(in Worten: Eine Million) Primzahlen ermittelt werden können.
Der Forumslink führt auch zu den anderen dort vorgestellten Programmen.
Hier nun die Primzahlen-Ermittlung in einer leicht überarbeiteten Version.
Wer es WIRKLICH will, startet das Programm von der Befehlszeile aus mit dem Parameter '/a' und
erhält nach (sehr) langem Warten eine Liste von 1 Mio Primzahlen..

'Primzahlen von volta
'leicht überarbeitet von ytwinky
#include "vbcompat.bi"
Const As UInteger N=15485863 'bis zu diesem Wert 1.000.000 Primzahlen finden
ReDim As Byte Sieb(2 To N)
Dim As Integer i, c=0, j, delta, sqr_N=Sqr(N), PrintIt=lcase(Command(1))="/a"
Dim As Double Dauer, Zeit=Timer

For j=4 To N Step 2 'gerade Zahlen
  Sieb(j)=1         'sind keine Primzahlen
Next

For j=3 To sqr_N Step 2
  If Sieb(j)=0 Then           '= Primzahl zB. j=3
    delta=2*j                 'delta = 6
    For i=3*j To N Step delta '9; 15; 21; 27; 33 ...
      Sieb(i)=1               'keine Primzahl
    Next
  End If
Next
Zeit=Timer-Zeit

Dauer=Timer
For i=2 To N
  If Sieb(i)=0 Then
        If PrintIt Then Print i, 'Achtung Anzeige dauert lange(wirklich..)
    c += 1
  End If
Next
If PrintIt Then Print !"\nAusgabedauer:" & Format(Timer-Dauer, "#,##0.00") &" Sekunden"
Print Format(c, "#,##0") &" Primzahlen in " & Format(Zeit, "#,##0.00") &!" Sekunden gefunden\nfertich..";
GetKey

Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 05.02.2012 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 05.02.2012 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen