Extra primes: Difference between revisions
Content deleted Content added
Alextretyak (talk | contribs) Added 11l |
Added solution for Action! |
||
Line 51: | Line 51: | ||
2557 2753 2777 3253 3257 3323 3527 3727 5233 |
2557 2753 2777 3253 3257 3323 3527 3727 5233 |
||
5237 5273 5323 5527 7237 7253 7523 7723 7727 |
5237 5273 5323 5527 7237 7253 7523 7723 7727 |
||
</pre> |
|||
=={{header|Action!}}== |
|||
{{libheader|Action! Sieve of Eratosthenes}} |
|||
<lang Action!>INCLUDE "H6:SIEVE.ACT" |
|||
BYTE Func IsExtraPrime(INT i BYTE ARRAY primes) |
|||
BYTE sum,d |
|||
IF primes(i)=0 THEN |
|||
RETURN (0) |
|||
FI |
|||
sum=0 |
|||
WHILE i#0 |
|||
DO |
|||
d=i MOD 10 |
|||
IF primes(d)=0 THEN |
|||
RETURN (0) |
|||
FI |
|||
sum==+d |
|||
i==/10 |
|||
OD |
|||
RETURN (primes(sum)) |
|||
PROC Main() |
|||
DEFINE MAX="9999" |
|||
BYTE ARRAY primes(MAX+1) |
|||
INT i,count=[0] |
|||
Put(125) PutE() |
|||
Sieve(primes,MAX+1) |
|||
FOR i=2 TO MAX |
|||
DO |
|||
IF IsExtraPrime(i,primes) THEN |
|||
PrintI(i) Put(32) |
|||
count==+1 |
|||
FI |
|||
OD |
|||
PrintF("%E%EThere are %I extra primes",count) |
|||
RETURN</lang> |
|||
{{out}} |
|||
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Extra_primes.png Screenshot from Atari 8-bit computer] |
|||
<pre> |
|||
2 3 5 7 23 223 227 337 353 373 557 577 733 757 773 2333 2357 2377 2557 2753 2777 |
|||
3253 3257 3323 3527 3727 5233 523 7 5273 5323 5527 7237 7253 7523 7723 7727 |
|||
There are 36 extra primes |
|||
</pre> |
</pre> |
||