我试图创造一个"慢"球拍中的指数函数,它接受一个基数和一个指数,n。我想创建这个函数并将基数乘以n次以获得我的答案。我认为创建列表是获得答案的最佳方式,但我遇到了一些问题:
(define (slow-expt base n)
(local [(define listn (make-list n base))]
(cons (* (- base 1) (first listn))
(slow-expt base (rest listn)))))
我的错误是*期望第二个参数是一个数字,但应该给出它(第一个listn)。有任何建议吗?
答案 0 :(得分:0)
列表与此问题无关,只需将base
单独乘以n
次:
(define (slow-expt base n)
(if (= n 0)
1
(* base (slow-expt base (- n 1)))))