Primality by trial division: Difference between revisions

Content added Content deleted
(Added an ActionScript version.)
(→‎{{header|Scheme}}: Simplified.)
Line 626: Line 626:


=={{header|Scheme}}==
=={{header|Scheme}}==
{{Works with|Scheme|R<math>^5</math>RS}}
<lang scheme>(define (is-prime? x)
<lang scheme>(define (prime? number)
(cond ((< x 2) #f)
((= x 2) #t)
(define (*prime? divisor)
((zero? (remainder x 2)) #f)
(or (> (* divisor divisor) number)
(else
(and (> (modulo number divisor) 0)
(let loop ((c 3))
(*prime? (+ divisor 1)))))
(cond ((> (* c c) x) #t)
(and (> number 1)
((zero? (remainder x c)) #f)
(*prime? 2)))</lang>
(else (loop (+ c 2))))))))</lang>


=={{header|Standard ML}}==
=={{header|Standard ML}}==