Exercise 1.27
Imports: [[Chapter 1.2]] prime? expmod
(define (expmod base exp m)
(cond ((= exp 0) 1)
((even? exp)
(remainder (square (expmod base (/ exp 2) m))
m))
(else (remainder (* base (expmod base (- exp 1) m))
m))))
(define (fermat-all? n)
(define (iter a)
(or (>= a n)
(and (= (expmod a n n) a)
(iter (+ a 1)))))
(iter 1))
These Carmichael numbers pass the Fermat tests for all values \(a < n\):
(fermat-all? 561) => #t
(fermat-all? 1105) => #t
(fermat-all? 1729) => #t
(fermat-all? 2465) => #t
(fermat-all? 2821) => #t
(fermat-all? 6601) => #t
According to the trial division procedure, none of them are prime: