電腦程式的構造和解釋 練習題2 19

2021-10-04 20:35:52 字數 975 閱讀 3507

#lang racket

(define (no-more? coin-values)

(null

? coin-values)

)(define (except-first-denomination coin-values)

(cdr coin-values)

)(define (first-denomination coin-values)

(car coin-values)

)(define (cc amount coin-values)

(cond (

(= amount 0)1

)((or (

< amount 0

)(no-more? coin-values))0

)(else(+

(cc amount

(except-first-denomination coin-values)

)(cc (

- amount

(first-denomination coin-values)

) coin-values)))

))(define us-coins (list 50

251051

))(define uk-coins (list 100

5020105

210.5)

)(define us-coins-r (list 1

2550105

))(cc 100 us-coins)

(cc 100 uk-coins)

(cc 100 us-coins-r)

執行結果

292

104561

292

打亂順序是不會影響結果的,只會影響計算順序,之前有練習做過這個計算的展開樹,其實就是展開樹的樣子不同,但是數的總分支數量是一樣的。

電腦程式的構造和解釋 練習題1 44

平滑函式的公式為 f s x f x dx f x f x dx 3f s x f x dx f x f x dx 3 fs x f x dx f x f x d x 3他的幾何意義應該是將每個點的導數,變化率變小。說簡單點就是函式那塊曲線彎度比較大,加上這個函式就會減小他的彎度,直到他無限接近於一...

電腦程式的構造和解釋 練習題2 61

跟element of set?一樣的道理,當元素大於當時的set表時,就說明元素根本不在這個表裡,所以將元素直接插入到當時表的前面就可以了。最壞的情況還是把錶迴圈了一遍,最好的情況是只迴圈了一次,這樣平均的步數就是n 2次。define adjoin set x set cond null set...

電腦程式的構造和解釋 練習題2 65

可以用之前的有序表的過程union set,intersection set以及平衡樹的轉化過程tree list list tree來寫。這幾個過程的複雜度都是 n 最終過程裡面沒有迭代或者遞迴,所以複雜度還是 n define union tree set1 set2 list tree uni...