Ich habe mir mal ein Primzahlen rechner gebaut, habe jedoch das problem, das die zahlen zu hoch werden. Eine long variable kann ja nur bis ca. 4Milliaden oder so zahlen speichern. Gibt es vielleicht eine Möglichkeit es bis in die Billionen hinaus zu treiben?
Hier mein Primzahlen rechner:
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(800,600,32,"Vollbild")
MN.l = 2 ;MN: MalNehmen
P.l = 0 ;P: Primzahl
PP.l = 999999999999 ;PP: PrimzahlPrüfen
Repeat
For a=0 To 100000
If (PP / MN) * MN = PP
PP + 2
MN = 2
Else
MN + 1
If MN > PP / 1000000
MN = 2
P = PP
PP + 2
EndIf
EndIf
Next
StartDrawing(ScreenOutput())
DrawText(100,100,Str(P),RGB(255,255,255),RGB(0,0,0))
DrawText(100,150,Str(PP),RGB(255,255,255),RGB(0,0,0))
DrawText(100,200,Str(MN),RGB(255,255,255),RGB(0,0,0))
StopDrawing()
FlipBuffers()
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Space)
PP + 2
MN1 = 2
MN2 = 2
EndIf
Until KeyboardPushed(#PB_Key_Escape)