SICP 習題 (1 42)解題總結

2021-09-30 11:55:48 字數 355 閱讀 7688

sicp  習題1.42 出人意料的簡單,題目要求我們定義乙個名為compose的過程,該過程接收兩個引數,都是單引數過程,要求我們將這兩個引數代表的過程串起來。

題目舉例((compose square inc) 6)等於49,其中inc過程接收乙個引數,執行加一操作,而square過程也只接收乙個引數,執行求平方操作,6加1再求平方就是49了。

如果習題1.41都做完了,這道題就比較簡單了,定義的compose過程直接返回乙個lambda過程,將兩個過程串起來就好了,**如下:

(define (compose f g)

(lambda (x)

(f (g x))))

SICP 習題 1 14 解題總結

sicp 習題 1.14要求計算出過程count change的增長階。count change是書中1.2.2節講解的用於計算零錢找換方案的過程。要解答習題1.14,首先你需要理解count change的工作方式,要理解count change的工作方式,最好是自己去實現一遍count chan...

SICP 習題 1 22 解題總結

sicp 習題 1.22 要求改進題中列舉出來檢查素數的過程,用來求1000,10000,100 000,還有1000 000附近的素數,然後比較求這些素數的時間,看是否符合 n 的複雜度。要完成這道題首先要將題目中列出的過程照抄到你的scheme環境中。因為書中的 使用了 runtime 過程,我...

SICP 習題 1 25 解題總結

sicp 習題 1.25 就是我上面說過的傷自尊的題了。習題1.25說到有個叫allyssa p.hacker的人說expmod過程完全沒有必要搞那麼麻煩,直接使用前面的fast expt過程和remainder過程就好了,她 叫alyssa的應該是女的吧 覺得可以這樣定義expmod define...