;** Juni 2005
;** by Triton
;** www.silizium-net.de
;** High-Speed-Version
Graphics 400,300,32,2
AppTitle("Primzahlen")
zahl=3
endzahl=100003
If zahl Mod 2 = 0 Then zahl = zahl + 1
Global j=Sqr(endzahl)
Global a1,i,t2
Dim pz(j)
Print "Ermittle Primzahlen von "+Zahl+" bis "+endzahl+"."
Print "..."
DeleteFile("pz"+txt+".txt")
dat=WriteFile("pz"+txt+".txt")
CloseFile dat
dat=OpenFile("pz"+txt+".txt")
WriteLine dat,"2"
t1=MilliSecs()
For z1=3 To j Step 2
If primzahlalt(z1) = 1 Then
pz(a1)=z1
a1=a1+1
WriteLine dat,z1
End If
Next
While Not KeyDown(1)
If primzahl(zahl) = 1 Then
WriteLine dat,Str(zahl)
i=i+1
End If
;If i Mod 10000 = 0 Then Print zahl
If zahl>endzahl Then
t2=MilliSecs()-t1
WriteLine dat, i+a1+" Primzahlen gefunden."
WriteLine dat,"Es hat "+t2+" ms gedauert."
t1=MilliSecs()
CloseFile dat
stats()
End If
zahl=zahl+2
Wend
;---
Function stats()
Print i+a1+" Primzahlen gefunden."
Print "Es hat "+t2+" ms gedauert."
Print ""
Print "Bye."
WaitKey
End
End Function
;---
Function primzahl(zahl)
For i2=0 To a1-1
If (zahl Mod pz(i2) = 0) Then Return 0
Next
Return 1
End Function
;---
Function primzahlalt(zahl)
For teiler=3 To Sqr(zahl) Step 2
If (zahl Mod teiler = 0) Then Return 0
Next
Return 1
End Function
|