(define (fact N)
(* N (fact (- N 1))))
(define (fac N X)
(if (= X (fact N)) #T )))
答案 0 :(得分:0)
在你的事实定义中,你需要在达到N = 1时停止递归调用。
在你的fac的定义中,你在定义的末尾有一个太多')'。此外,您可以删除if函数,因为它没有任何实际用途。
更正的代码......
(define (fact N)
(if (> N 1)
(* N (fact (- N 1)))
1))
(define (fac N X)
(= X (fact N)))