`
frenchmay
  • 浏览: 228862 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SICP Exercise 1.22 遇到的问题

 
阅读更多

进行SICP Exercise 1.22 时遇到无法加载runtime过程的问题。


我的开发环境是DrScheme 4.2. 于是将原文的例子做了修改。修改例程和结果例程如下:

修改例程

(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 (divides? a b)
  (= (remainder b a) 0)
  )
(define (prime? n)
  (smallest-divisor n)
  )
(define (square n)
  (* n n)
  )

(define (timed-prime-test n)
  (start-prime-test n )
  )
(define (start-prime-test n )
  (prime? n)
  )

 结果例程

 

(define (search-for-primes n)
  (if (= (timed-prime-test (+ n 1)) (+ n 1))
      (+ n 1)
      (search-for-primes (+ n 1))
      )
  )

(search-for-primes 100000)
 
分享到:
评论
1 楼 shiqicai 2011-02-12  
但是这样的话,后面一系列有关性能的联系都没有办法做了啊!

相关推荐

Global site tag (gtag.js) - Google Analytics