【发布时间】:2014-11-21 23:55:15
【问题描述】:
问题是求一个数 x 的 x^n 的 n 次方,其中 n 是一个正整数。下面两段代码有什么区别。它们都产生相同的结果。
这是第一个的代码:
(define (power x n)
(define (square n) (* n n))
(cond ((= n 1) x)
((even? n)
(square (power x (/ n 2))))
(else
(* (power x (- n 1)) x))))
这是第二个:
(define (power x n)
(if (= n 1)
x
(* x (power (- n 1) x))))
【问题讨论】: