2015-11-01 64 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