diff options
Diffstat (limited to 'coding-exercises/1/27.rkt')
| -rw-r--r-- | coding-exercises/1/27.rkt | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/coding-exercises/1/27.rkt b/coding-exercises/1/27.rkt index 5a7a8d7..63e614e 100644 --- a/coding-exercises/1/27.rkt +++ b/coding-exercises/1/27.rkt @@ -1,24 +1,5 @@ #lang racket +(require "../../shared/chapter1.rkt") (require sicp) -(define (square x) - (* x x)) - -(define (expmod base e m) - (cond - ((= e 0) 1) - ((even? e) - (remainder (square (expmod base (/ e 2) m)) m)) - (else - (remainder (* base (expmod base (- e 1) m)) m)))) - -(define (fermat? a n) - (= (expmod a n n) a)) - -(define (all-fermat n) - (define (f a n) - (cond - ((= a 0) true) - ((fermat? (- a 1) n) (f (- a 1) n)) - (else false))) - (f n n)) +(all-fermat 561) |
