練習1.23
首先我們按照題目要求來寫出相應的next函式,然後再修改find-divisor函式。
(define (next x)
(if(= x 2)
3(+ n 2)))
(define
(find-divisor ntest-divisor)
(cond((> (square test-divisor) n) n)
((divides? test-divisor n) test-divisor)
(else (find-divisor n (nexttest-divisor)))))
然後重新編譯之前寫好的get-time&prime函式,再加以測試這道題就算完成了。
SICP練習 17 練習1 23
練習1.23 首先我們按照題目要求來寫出相應的next函式,然後再修改find divisor函式。define next x if x 2 3 n 2 define find divisor ntest divisor cond square test divisor n n divides?te...
練習1 23 練習1 30
1.練習1.23 改後的 如下 define find divisor better n a cond square a n n divides?better n a a else find divisor better n next 2 a define next 2 n if 2 n 1 n 2...
SICP練習 7 練習1 11
這種題目太像是數學題目了,不過拿到程式設計上又有一些的難度。我們先根據題目中的條件,寫出類似於第 25頁最下面的變換規則。我們先列出如下內容 a f n 1 f 2 f 3 f 4 f 5 b f n 2 f 1 f 2 f 3 f 4 c f n 3 f 0 f 1 f 2 f 3 於是繼而得出下...