Merhaba,

Scheme and the Art of Programming'e bakınırken Hanoi Kulelerinin örnek
olarak işlendiği bir bölüm gözüme takıldı. Çözüm o kadar yalındı ki,
insanı susturan cinsten. Liste üyelerine akşam akşam yemek sonrası
tatlı niyetinde ikram edeyim dedim:

(define tower-of-hanoi
  (lambda (n)
    (letrec
      ((move
       (lambda (n src dst tmp)
         (if (= n 1)
             (list (list src dst))
             (append
               (move (- n 1) src tmp dst)
               (cons
                 (list src dst)
                 (move (- n 1) tmp dst src)))))))

      ; Kulelerin isimleri L(eft), R(ight), C(enter) olmak üzere.
      (move n 'L 'R 'C))))

Hele bir de üşenmeden yazarın kod ile ilgili açıklamasını da
yazabilseydim... Neyse, bu seferlik tadımlık olsun.


İyi çalışmalar.

_______________________________________________
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap