Код Ревью
Сравни свои решения
#| BEGIN (Write your solution here) |#
(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 (square n)
(* n n))
(define (carmichael-test n)
(define (try-it a)
(cond [(= a 0) #t]
[(= (expmod a n n) a) (try-it (- a 1))]
[else #f]))
(try-it (- n 1)))
#| END |#