Merhaba, 10 Oca 2007 tarihinde Volkan YAZICI dedi ki:
> (define (available-changes amount coins) > (cond > ((= amount 0) '(())) > ((< amount 0) '()) > (else > (append-map > (lambda (coin) > (append-map > (lambda (changes) > (list (cons coin changes))) > (available-changes (- amount coin) coins))) > coins)))) Soruyu yanlış anlamadıysam, yukardaki kod gereksiz yere tekrarları sayıyor. Bu durumda şöyle bir şey önereceğim: (define (bul toplam paralar) (cond ((= toplam 0) '(())) ((< toplam 0) '()) ((not (pair? paralar)) '()) (else (let ((bas (car paralar)) (kuyruk (cdr paralar))) (append (map (lambda (l) (cons bas l)) (bul (- toplam bas) paralar)) (bul toplam kuyruk)))))) -- gereksiz: (s) Gereksiz olan. http://www.bayazit.net/alphan/ _______________________________________________ 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