Nice primes: Difference between revisions

Added Forth solution
m (Rust - minor edit)
(Added Forth solution)
Line 167:
997
}</pre>
 
=={{header|Forth}}==
{{trans|Factor}}
{{works with|Gforth}}
<lang forth>: prime? ( n -- ? ) here + c@ 0= ;
: notprime! ( n -- ) here + 1 swap c! ;
 
: prime_sieve ( n -- )
here over erase
0 notprime!
1 notprime!
2
begin
2dup dup * >
while
dup prime? if
2dup dup * do
i notprime!
dup +loop
then
1+
repeat
2drop ;
 
: digital_root ( m -- n ) 1 - 9 mod 1 + ;
 
: print_nice_primes ( m n -- )
over prime_sieve
do
i prime? if
i digital_root prime? if
i . cr
then
then
loop ;
 
1000 500 print_nice_primes
bye</lang>
 
{{out}}
<pre>
509
547
563
569
587
599
601
617
619
641
653
659
673
677
691
709
727
743
761
797
821
839
853
857
887
907
911
929
941
947
977
983
997
</pre>
 
=={{header|Go}}==
1,777

edits