Primality by trial division: Difference between revisions
Content added Content deleted
(→{{header|PureBasic}}: some cleanup) |
No edit summary |
||
Line 293: | Line 293: | ||
isPrime n | n < 2 = False |
isPrime n | n < 2 = False |
||
| otherwise = not $ any (`divides` n) $ takeWhile (\k -> k*k <= n) (2:[3,5..]) |
| otherwise = not $ any (`divides` n) $ takeWhile (\k -> k*k <= n) (2:[3,5..]) |
||
=={{header|HicEst}}== |
|||
<lang HicEst> DO n = 1, 1E6 |
|||
Euler = n^2 + n + 41 |
|||
IF( Prime(Euler) == 0 ) WRITE(Messagebox) Euler, ' is NOT prime for n =', n |
|||
ENDDO ! e.g. 1681 = 40^2 + 40 + 41 is NOT prime |
|||
END |
|||
FUNCTION Prime(number) |
|||
Prime = number == 2 |
|||
IF( (number > 2) * MOD(number,2) ) THEN |
|||
DO i = 3, number^0.5, 2 |
|||
IF(MOD(number,i) == 0) THEN |
|||
Prime = 0 |
|||
RETURN |
|||
ENDIF |
|||
ENDDO |
|||
Prime = 1 |
|||
ENDIF |
|||
END</lang> |
|||
=={{header|J}}== |
=={{header|J}}== |