SICP习题1.21 解答

题目:使用smallest-divisor过程找出下面各数的最小因子:199,1999,19999.

稍对原过程作出修改:

(define (divisor-iter n a)
  (cond ((>= (square a) n) "prime")
        ((= (remainder n a) 0) a)
        (else (divisor-iter n (+ a 1)))))
(define (smallest-divisor n)
  (divisor-iter n 2))
(define (square x)
  (* x x))

posted @ 2006-12-27 19:35  浅蓝の天   阅读(179)  评论(1编辑  收藏  举报