Nice primes: Difference between revisions
Content deleted Content added
m Rust - minor edit |
Added Forth solution |
||
Line 167: | Line 167: | ||
997 |
997 |
||
}</pre> |
}</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}}== |
=={{header|Go}}== |