Find squares n where n+1 is prime: Difference between revisions

Add BCPL
(Add CLU)
(Add BCPL)
Line 24:
1 4 16 36 100 196 256 400 576 676
</pre>
 
=={{header|BCPL}}==
<lang bcpl>get "libhdr"
manifest $( MAX = 1000 $)
 
let isqrt(s) = valof
$( let x0 = s>>1 and x1 = ?
if x0 = 0 resultis s
x1 := (x0 + s/x0)>>1
while x1<x0
$( x0 := x1
x1 := (x0 + s/x0)>>1
$)
resultis x0
$)
 
let sieve(prime, n) be
$( 0!prime := false
1!prime := false
for i = 2 to n do i!prime := true
for p = 2 to isqrt(n) if p!prime
$( let c = p*p
while c<n
$( c!prime := false
c := c + p
$)
$)
$)
 
let square(n) = valof
$( let sq = isqrt(n)
resultis sq*sq = n
$)
 
let start() be
$( let prime = vec MAX
sieve(prime, MAX)
for i=2 to MAX if i!prime
$( let sq = i-1
if square(sq) then writef("%N ",sq)
$)
wrch('*N')
$)</lang>
{{out}}
<pre>1 4 16 36 100 196 256 400 576 676</pre>
 
=={{header|CLU}}==
Line 68 ⟶ 114:
{{out}}
<pre>1 4 16 36 100 196 256 400 576 676</pre>
 
=={{header|F_Sharp|F#}}==
This task uses [http://www.rosettacode.org/wiki/Extensible_prime_generator#The_functions Extensible Prime Generator (F#)]
2,097

edits