| 1234567891011121314151617181920212223242526 |
- #lang racket
- (define (divides? a b)
- (= (remainder b a) 0))
- (define (square x) (* x x))
- (define (smallest-divisor n) (find-divisor n 2))
- (define (find-divisor n test-divisor)
- (cond
- ((> (square test-divisor) n) n)
- ((divides? test-divisor n) test-divisor)
- (else (find-divisor n (+ test-divisor 1)))))
- (define (prime? n)
- (= n (smallest-divisor n)))
- (smallest-divisor 199)
- (smallest-divisor 1999)
- (smallest-divisor 19999)
- (prime? 199)
- (prime? 1999)
- (prime? 19999)
|