RosettaCodeData/Task/Primality-by-trial-division/BBC-BASIC/primality-by-trial-division.basic

15 lines
327 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
FOR i% = -1 TO 100
IF FNisprime(i%) PRINT ; i% " is prime"
NEXT
END
DEF FNisprime(n%)
IF n% <= 1 THEN = FALSE
IF n% <= 3 THEN = TRUE
IF (n% AND 1) = 0 THEN = FALSE
LOCAL t%
FOR t% = 3 TO SQR(n%) STEP 2
IF n% MOD t% = 0 THEN = FALSE
NEXT
= TRUE