( Print prime numbers ) 0 variable cnt : isp ( n1 n2 -- n1 ) dup dup * 2 pick > if 2drop -1 else 2dup mod 0= if 2drop 0 else 2 + recurse then then ; : isprime ( n1 -- n1 ) dup 2 = if drop -1 else dup 2 mod 0= if drop 0 else 3 isp then then ; : primes ( n1 -- ) cr 0 cnt ! 1 + 2 do i isprime if i 5 .r cnt @ 1 + cnt ! then loop cr cnt @ 5 .r ." primes" cr ; |