Carmichael 3 strong pseudoprimes: Difference between revisions

Line 462:
#lang racket
(require math)
 
(for ([p1 (in-range 3 62)] #:when (prime? p1))
(for ([h3 (in-range 2 p1)])
(define g (+ p1 h3))
(let loopnext ([d 1]) (define (next) (loop (+ d 1)))
(when (< d g)
(when (and (zero? (modulo (* g (- p1 1)) d))
(cond
[(and (zero?= (modulo (* g- (-sqr p1 1)) h3) (modulo d h3)))
(define p2 (+ 1 (=quotient (modulo* g (- (sqrp1 p11)) h3) (modulo d h3)))
(when (defineprime? p2 (+ 1 (quotient (* g (- p1 1)) d)))
(conddefine p3 [(prime?+ 1 (quotient (* p1 p2) h3)))
(when (and (defineprime? p3) (+= 1 (quotientmodulo (* p1 p2 p3) h3(- p1 1))))
(conddisplayln [(andlist (prime?p1 p2 p3) ('= 1 (modulo> (* p1 p2 p3) (- p1 1)))))
(displaylnnext (list+ p1d p2 p3 '=> (* p1 p2 p31))))))]
[(next)])]
[(next)])]
[(next)])))))
</lang>
Output:
Anonymous user