(define (smallest-divisor n)
(find-divisor n 2))
(define (find-divisor n test-divisor)
(cond ((> (square test-divisor) n) n)
((divides? n test-divisor) test-divisor)
(else (find-divisor n (+ test-divisor 1)))))
(define (divides? a b)
(= (remainder a b) 0))
;(define (prime? n)
; (= n (smallest-divisor n)))
(define (square x)
(* x x))
(smallest-divisor 199)
(smallest-divisor 1999)
(smallest-divisor 19999)
19919997
转载于:https://www.cnblogs.com/R4mble/p/7892348.html
相关资源:题目3:找出一个合数的最大质数因子