【发布时间】:2017-11-20 15:13:36
【问题描述】:
我是 Scheme 的新手,但我想写的东西似乎很简单。尽管,我缺少一些东西......我有以下定义:
(define (fast-expt x n)
(if (even? n)
(expt (expt x (/ n 2)) 2)
(expt x n)))
它使用了我以前的功能:
(define (expt x n)
(cond ((= n 0) 1)
((= n 1) x)
((= n -1) (/ 1 x))
((< n 0) (* (/ 1 x) (expt x (+ n 1))))
(else (* x (expt x (- n 1)))))
函数expt 似乎工作正常,但是当我尝试测试fast-expt 时,它会抛出以下内容:Error: #<undef> is not a function [fast-expt]。如果有关系,我使用在线编译器https://repl.it
【问题讨论】:
标签: scheme