(define (prime-next n)
(if (= n 2)
3
(+ n 2)
)
)
(define (prime?-clever n)
(define (prime?-itr n c)
(cond
((= (remainder n c) 0) #f)
((>= c (/ n c)) #t)
(else (prime?-itr n (prime-next c))))
)
(define (prime-next n)
(if (= n 2)
3
(+ n 2)
)
)
(prime?-itr n 2)
)
(prime?-clever 7)
(define (prime-dis-clever limit)
(define (prime-dis-itr targ limit)
(cond
((prime?-clever targ)
(begin
(display targ)
(display " ")
(prime-dis-itr (+ targ 1) limit)
))
((= targ limit)
(begin
(display "over")
(newline)
))
(else (prime-dis-itr (+ targ 1) limit)))
)
(prime-dis-itr 2 limit)
)
(prime-dis-clever 1000)