Primes by Trial Division - UCB LOGO

15 February 2018
UCB LOGO supports arrays, and has an infix + operator.
to primes :n
(local "primes "count "found "i)
make "primes array :n
make "count 2
make "found 0
label "continue
catch "notprime [
make "i 1
repeat :found [
if (remainder :count item :i :primes) = 0
[ throw "notprime ]
[ make "i (1 + :i) ]
]
print :count
make "found (1 + :found)
setitem :found :primes :count
]
make "count (1 + :count)
if :found < :n [ go "continue ]
end