Extra primes: Difference between revisions

Added solution for Action!
(Added 11l)
(Added solution for Action!)
Line 51:
2557 2753 2777 3253 3257 3323 3527 3727 5233
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>
 
Anonymous user