[Back to MATH SWAG index] [Back to Main SWAG index] [Original]
(*I was looking for a faster sqr routine (still am), when I stumbled over
all of your prime
number programs. Although I don't know all about Turbo Pascal I do know
how to
make a faster Prime tester for Numbers < 31-bit, If you like it, copy it,
use routines
or whatever, but please think about leaving me credits
This program builds on the (theory) that a prime is always equal to
(X*6+1) or
(X*6-1) this I read of in a magazine. And it seems to work... I have with
this been
able to take lead (I think) with 50% faster routine than the others
by Tobias Olsson
*)
Unit Primtal;
Interface
Function Prime(Prim: LongInt): Boolean;
implementation
Function Prime(Prim: LongInt): Boolean;
Var
Z : Real;
Max : LongInt;
Divisor : LongInt;
Begin
Prime:= False;
IF (Prim and 1) = 0 then Exit;
Z := Sqrt(Prim);
Max := Trunc(Z)+1;
Divisor := 3;
While Max > Divisor do
Begin
IF (Prim mod Divisor) = 0 then Exit;
Inc(Divisor,2);
IF (Prim mod Divisor) = 0 then Exit;
Inc(Divisor,4);
End;
Prime := True;
End;
BEGIN
END.
[Back to MATH SWAG index] [Back to Main SWAG index] [Original]