SICP練習 17 練習1 23

2021-06-28 15:29:08 字數 379 閱讀 1422



練習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 於是繼而得出下...