我正在尝试实现一个函数,告诉参数是否为2的幂。这就是我所拥有的
(define (powof2 x) (cond
[(and (even? x) (> x 1)) ((powof2 (/ x 2)))]
[else (equal?(x 1))]))
但是当我尝试使用参数12运行它时,我得到错误说: 错误:3不是函数[powof2,powof2,powof2,(anon)]
任何帮助?
谢谢!
答案 0 :(得分:2)
啊那些括号; - )
(define (powof2 x)
(cond
[(and (even? x) (> x 1)) (powof2 (/ x 2))]
[else (= x 1)]))
请注意,在第3行和第4行,您有一对额外的括号,在第4行,您应该使用=
来比较数字。