вопрос в схеме - PullRequest
       17

вопрос в схеме

0 голосов
/ 27 февраля 2011

в чем проблема, это следующая программа на Схеме, которая решает проблему башни Ханоя

(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 голосов
/ 27 февраля 2011

В вашем коде вы вызывали два вызова функций в ().Когда вы используете это, ваш символ должен быть функцией / процедурой.Итак, вы получили ошибку.

Проверьте код ниже.Я изменил его на (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)))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...