Additive primes: Difference between revisions

Content deleted Content added
Nig (talk | contribs)
Added AppleScript.
Not a robot (talk | contribs)
Add BCPL
Line 164: Line 164:
Additive primes 1-500: 54
Additive primes 1-500: 54
</pre>
</pre>

=={{header|BCPL}}==
<lang bcpl>get "libhdr"
manifest $( limit = 500 $)

let dsum(n) =
n=0 -> 0,
dsum(n/10) + n rem 10

let sieve(prime, n) be
$( 0!prime := false
1!prime := false
for i=2 to n do i!prime := true
for i=2 to n/2
if i!prime
$( let j=i+i
while j<=n
$( j!prime := false
j := j+i
$)
$)
$)

let additive(prime, n) = n!prime & dsum(n)!prime

let start() be
$( let prime = vec limit
let num = 0
sieve(prime, limit)
for i=2 to limit
if additive(prime,i)
$( writed(i,5)
num := num + 1
if num rem 10 = 0 then wrch('*N')
$)
writef("*N*NFound %N additive primes < %N.*N", num, limit)
$)</lang>
{{out}}
<pre> 2 3 5 7 11 23 29 41 43 47
61 67 83 89 101 113 131 137 139 151
157 173 179 191 193 197 199 223 227 229
241 263 269 281 283 311 313 317 331 337
353 359 373 379 397 401 409 421 443 449
461 463 467 487

Found 54 additive primes < 500.</pre>


=={{header|C++}}==
=={{header|C++}}==