Jump to content

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

added racket example
m (syntax highlighting fixup automation)
(added racket example)
Line 721:
1 4 16 36 100 196 256 400 576 676
done...
</pre>
 
=={{header|Racket}}==
 
<syntaxhighlight lang="racket">
#lang racket
(require racket)
 
(define (find-subprime-squares up-to)
(let rc ([curr-num 1]
[found '()])
(let ([n-sq (* curr-num curr-num)])
(cond [(>= n-sq up-to) (reverse found)]
[(prime? (add1 n-sq)) (rc (add1 curr-num) (cons n-sq found))]
[else (rc (add1 curr-num) found)]))))
 
(define (prime? n)
(let iter ([counter 2])
(cond [(eq? n 1) #f]
[(<= (expt counter 2) n)
(if (zero? (remainder n counter))
#f
(iter (add1 counter)))]
[else #t])))
 
(find-subprime-squares 1000)
</syntaxhighlight>
 
{{out}}
<pre>
'(1 4 16 36 100 196 256 400 576 676)
</pre>
 
8

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.