Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Define primetest(n)=
- Func
- :If mod(n,3)=0 or mod(n,7)=0:Return false
- :Local s,d,i,j,k,rem,wit,nm
- :nm:=n-1
- :k:=2
- :If n>1373652 Then
- : k:=4
- : If n>118670087466:k:=7
- :EndIf
- :s:=0
- :d:=n-1
- :While (d and 1)=0
- : s:=s+1
- : d:=intDiv(d,2)
- :EndWhile
- :For i,1,k
- : rem:=exprem({2,3,5,7,11,13,17}[i],d,n)
- : If rem≠1 and rem≠nm Then
- : wit:=true
- : For j,1,s-1
- : rem:=mod(rem*rem,n)
- : If rem=nm Then
- : wit:=false
- : Exit
- : EndIf
- : EndFor
- : If wit=true:Return false
- : EndIf
- :EndFor
- :Return true
- :EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement