(fast 2 * n 1) ==> 2^n
(fast 2 + n 0) ==> 2*n
(define (fast a op n unit)
(define (square x) (op x x))
(define (iter a n result)
(cond ((= n 0) result)
((even? n) (iter (square a) (/ n 2) result))
(else (iter a (- n 1) (op a result)))))
(iter a n unit))
噢噢!!
回覆刪除呵呵~~被抓到了!?
回覆刪除其實老師提示滿多的.... (偷偷檢查有沒有寫錯XD)
回覆刪除現在的作業比較難的感覺....
回覆刪除為什麼要設unit?
看迴圈好痛苦喔>"<