2015-11-01 80 views
0

我想实现的是讲述了一个功能,如果该参数是2以下功率电源是我方案递归 - 一个int

(define (powof2 x) (cond 
    [(and (even? x) (> x 1)) ((powof2 (/ x 2)))] 
    [else (equal?(x 1))])) 

但是,当我尝试使用参数12 I运行得到错误说: 错误:3不是函数[powof2,powof2,powof2,(anon)]

任何帮助吗?

谢谢!

回答

2

啊这些括号;-)

(define (powof2 x) 
    (cond 
    [(and (even? x) (> x 1)) (powof2 (/ x 2))] 
    [else (= x 1)])) 

注意的是,在3号线和4号线你有一对额外的括号,并在这你应该使用=比较数字4号线。

+0

非常感谢你!我现在看到它 – bZhang

+0

这很棒!别客气。 – uselpa

+0

我看到你从未接受过你的问题的答案。如果你认为你的问题已经得到完全解答,那么这样做也许是个好主意。 – uselpa