執行結果#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...