Primes by Trial Division - Terrapin Logo PLUS
1 August 2018
Terrapin Logo PLUS lacks CATCH/THROW, and has infix mathematical operators. Lists are not allowed to span lines in the editor.
TO PRIMES :N LOCAL "PRIMES LOCAL "COUNT LOCAL "FOUND LOCAL "I MAKE "PRIMES [] MAKE "COUNT 2 CONTINUE: PRINT :COUNT MAKE "PRIMES (LPUT :COUNT :PRIMES) MAKE "FOUND COUNT :PRIMES IF :FOUND = :N THEN STOP NOTPRIME: MAKE "COUNT (:COUNT + 1) MAKE "I 1 NEXTQ: IF REMAINDER :COUNT (ITEM :I :PRIMES) = 0 THEN GO "NOTPRIME MAKE "I (:I + 1) IF NOT :I > :FOUND THEN GO "NEXTQ GO "CONTINUE END