这个解决Hanoy塔问题的方案中的下一个程序是什么问题
(define tower_of_hanoi
(lambda (move discs from to using)
(if (> discs 0)
((tower_of_hanoi move (- discs 1) from using to)
(tower_of_hanoi move (- discs 1) using to from)))))
(procedure application: expected procedure, given: #void; arguments were: #void)
谢谢大家。
答案 0 :(得分:0)
在你的代码中,你在()中调用了两个函数调用。当你使用它时你的符号需要是一个函数/过程。所以你得到了错误。
检查以下代码。我将其更改为(and
(define tower_of_hanoi
(lambda (move discs from to using)
(if (> discs 0)
(and (tower_of_hanoi move (- discs 1) from using to)
(display move)(display " from ")(display from) (display " to ")(display to) (display "\n")
(tower_of_hanoi move (- discs 1) using to from)))))