16 lines
454 B
Text
16 lines
454 B
Text
TrialDivision := proc( n :: integer )
|
|
if n <= 1 then
|
|
false
|
|
elif n = 2 then
|
|
true
|
|
elif type( n, 'even' ) then
|
|
false
|
|
else
|
|
for local i from 3 by 2 while i * i <= n do
|
|
if irem( n, i ) = 0 then
|
|
return false
|
|
end if
|
|
end do;
|
|
true
|
|
end if
|
|
end proc:
|