计划中的问题

时间:2011-02-27 08:30:55

标签: scheme

这个解决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)

谢谢大家。

1 个答案:

答案 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)))))