18 lines
394 B
Text
18 lines
394 B
Text
*FLOAT 64
|
|
PRINT "Mersenne Primes:"
|
|
FOR p% = 2 TO 23
|
|
IF FNlucas_lehmer(p%) PRINT "M" ; p%
|
|
NEXT
|
|
END
|
|
|
|
DEF FNlucas_lehmer(p%)
|
|
LOCAL i%, mp, sn
|
|
IF p% = 2 THEN = TRUE
|
|
IF (p% AND 1) = 0 THEN = FALSE
|
|
mp = 2^p% - 1
|
|
sn = 4
|
|
FOR i% = 3 TO p%
|
|
sn = sn^2 - 2
|
|
sn -= (mp * INT(sn / mp))
|
|
NEXT
|
|
= (sn = 0)
|